Hallo!
Ich benütze das Dev-C++, und bin auf das Spiel Schiffeversenken
gestossen um mit mehrdimensionealen Arrays zu üben.
Das Übergeben an Funktionen ist mir noch nicht klar!
Arrays Spielfelder 10x10
1
charspieler1='O';
2
charspieler2='X';
3
4
charspfeply1[10][10];
5
charspfeply2[10][10];
Funktionen: spielfeld wird zur aktuallisierung des Spielfelds
aufgerufen, entweder spfe 1 oder 2.
eingb: erfasst die startpositionen der Schiffe zuerst des Spieler1 dann
2
1
voidspielfeld(char);
2
chareingb(char,char);
1
chareingb(charsp,charspfe[][10])
2
{
3
spfe[row-1][colum-1]=sp;
4
spielfeld(spfe);
5
return0;
6
}
main
1
intmain()
2
{
3
4
eingb(spieler1,spfeply1);
5
eingb(spieler2,spfeply2);
6
}
Dies sind die relavent Codeausschnitte. In meinem Buch steht, dass für
die erste Dimension keine Werte angeben werden müssen bei der Übergabe
an Funktionen. Aber das Programm lässt sich nicht kompilieren!
Vielen Dank und freundliche Grüsse!
M.B.
M. B. schrieb:> Aber das Programm lässt sich nicht kompilieren!
Ich habe leider meine Glaskugel gerade nicht bei mir. Wenn du trotzdem
eine Antwort haben willst, ohne bis zum Abend zu warten, musst du schon
mit den Fehlermeldungen vom Compiler rausrücken.
Den ganzen Code wäre auch nicht schlecht, ich sehe nämlich Variablen die
nirgens definiert wurden...
mfg
> ply2s1[5]= {1, 1, 1,1, 1, 1},
Zähl mal.
> void spielfeld(char spfe)
Das ist ein Zeichen, kein Array. Daher kann
> printf("%c",spfe[i][0] );
nichts sinnvolles ergeben.
Literaturhinweis:
Brian Kernighan & Dennis Ritchie, "Programmieren in C", 2. Ausgabe,
Hanser-Verlag
M. B. schrieb:> Das mit den 1sen ist wohl reingerutscht
Aber anhand der Compilermeldung hättest du doch zumindest sehen müssen
daß die Fehlermeldungen in einer komplett anderen Zeile beginnen als
dein 2 dim Array.
Wichtig für alle Programmiersprachen VOR ALLEM FÜR C!:
Immer die Fehler von 'oben' beseitigen, manche Fehler führen zu
seltsamen und verwirrenden Folgemeldungen im Code weiter unten.
Meist ist die erste Meldung die wichtigste.