Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Schachbrett C++

Diskussion: Schachbrett C++ im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi, ich habe eine Praktikumsaufgabe für C++ an der ich nicht weiterkomme: Ein Schachbrett wird dargestellt als ein zweidimensionales ...

Like Tree1Likes
  • 1 Post By Tsjuder

Antwort
Alt 18.12.11, 21:51   #1 (permalink)
 
Registriert seit: 18.12.11
Beeinh Leistung: Facit NTK
Likes: 0
Standard Schachbrett C++

Anzeige

Hi, ich habe eine Praktikumsaufgabe für C++ an der ich nicht weiterkomme:

Ein Schachbrett wird dargestellt als ein zweidimensionales Feld der Dimension 8x8 von booleschen Elementen. Auf dem Schachbrett steht ein Springer auf der Feldposition (startX, startY). 0<=startX<=7 und 0<=startY<=7. Es soll ein Weg des Springers zum Ziel mit der Position (zielX, zielY) gefunden werden. Der Weg besteht aus einer Folge von gültigen Springerzügen. Gültige Springerzüge sind:
1) x->x+2, y->y+1 2) x->x+2, y->y-1 3) x->x-2, y->y+1 4) x->x-2, y->y-1 5) x->x+1, y->y+2 6) x->x+1, y->y-2 7) x->x-1, y->y+2 x->x-1, y->y-1
Schreiben Sie dazu eine Funktion , die Springerzüge auf einem Schachbrett , repräsentiert durch das zweidimensionale Feld, durchführt. Die Funktion soll Zugriff auf das globale zweidimensionale Feld haben. Die Funktion hat zwei Ganzzahl Eingabeparameter, die die Position des Springers auf dem Spielfeld angeben. Die Funktion soll zuerst die Gültigkeit außerhalb des Feldes liegt, soll die Funktion mit return false beendet werden. Falls die Position (zielX, zielY) erreicht wird, soll die Funktion mit return true beendet werden. Wird ein Feldelement erreicht mit dem Wert true (Schleife) soll die Funktion mit false beendet werden. Sonst wird der Wert an der aktuellen Position im Feld auf true gesetzt und die Funktion meinSpringerzug() ruft die meinSpringerzug() Funktion mit allen möglichen Zügen auf (siehe oben).
Einen Zug durchführen heißt, im rekursiven Aufruf die neue Position anzugeben, z.B.: meinSpringerzug(posX+2, posY+1).

wäre echt suuuuuper wenn mir jemand ein beispielprogramm (oder schon das hier^^) hätte und mir noch sagen könnte warum und wie was funktioniert

danke im vorraus!!!

Beeinh ist offline   Mit Zitat antworten
Alt 19.12.11, 09:57   #2 (permalink)
 
Registriert seit: 03.04.11
Tsjuder Leistung: 8086
Likes: 10
Standard

Es wäre schön, wenn du "an der ich nicht weiterkomme" genauer spezifizierst. "Hausaufgaben" macht hier keiner gerne für einen anderen und vorallem soll die Aufgabe jawohl einen Lerneffekt haben und dir das Programmieren näher bringen. Wenn einer von uns das macht bringt es dir nicht viel.
Chakky likes this.
Tsjuder ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.12.11, 10:50   #3 (permalink)
 
Registriert seit: 22.04.08
jemo. Leistung: Facit NTK
Likes: 15
Standard

Hinweise die dir helfen könnten sind ja schon in der Aufgabe gegeben.

Außerdem hast du in der Aufgabenstellung eine Zeile vergessen nehme ich an:
Zitat:
Die Funktion soll zuerst die Gültigkeit außerhalb des Feldes liegt, soll die Funktion mit return false beendet werden.
Du musst vom Startpunkt aus nur der Reihe nach rekursiv alle gültigen Spielzüge durchgehen, bis die Funktion einmal true zurückgibt oder alle gültigen Spielzüge gemacht worden sind. Im letzten Fall gibt es keine gültige Kombination von Zügen, die es erlaubt mit dem Springer vom Startpunkt zum Zielpunkt zu kommen.
jemo. ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Schachbrett C++
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ein Schachbrett - acht Damen CDW Programmieraufgaben 10 17.08.08 22:16


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61