S
samotyr
Gast
Hallo,
Also da stimmt so einiges ned
1. Im ship Konstruktor:
Das Array xy hat keine Werte. Darüberhinaus fängt ein Array bei 0 an, es sollte eigentlich heissen:
2. Dein Funktionsaufruf schifflist(6) führt zu einem Fehler, da dein Array nur bis 5 geht:
weil weiter oben bei der Deklaration:
Und in schifflist:
Korrekterweise müsstest du also schifflist( 5 ) in der main als Aufruf nehmen oder in der entsprechenden for-Schleife kleiner-als anstatt kleiner-gleich benutzen ( < statt <= ).
3. Benutz bitte keine Umlaute, das führt zu Fehlern. Z.B. kann mein Eclipse damit nicht umgehen.
4. cout statt printf *hust*
Zum eigentlichen Problem:
Dein Programm stürzt im Konstruktor ab, genauer hier:
Und so ginge es:
Hoffe ich konnte helfen
Also da stimmt so einiges ned
1. Im ship Konstruktor:
Code:
int posX= xy[1];
int posY= xy[2];
Code:
int posX= xy[0];
int posY= xy[1];
2. Dein Funktionsaufruf schifflist(6) führt zu einem Fehler, da dein Array nur bis 5 geht:
Code:
int main (void)
{
gridzeichnend ();
schifflist(6);
gridausgabe ();
}
weil weiter oben bei der Deklaration:
Code:
int laengen[6]={2,4,1,3,4,2};
Und in schifflist:
Code:
void schifflist (int anzahl){
// hier fehlt Code
for (i=0;i<=anzahl;i++)
// hier auch
Korrekterweise müsstest du also schifflist( 5 ) in der main als Aufruf nehmen oder in der entsprechenden for-Schleife kleiner-als anstatt kleiner-gleich benutzen ( < statt <= ).
3. Benutz bitte keine Umlaute, das führt zu Fehlern. Z.B. kann mein Eclipse damit nicht umgehen.
4. cout statt printf *hust*
Zum eigentlichen Problem:
Dein Programm stürzt im Konstruktor ab, genauer hier:
Code:
int posX= xy[1];
int posY= xy[2];
laenge = a[id];
if (ausrichtung == 90){
Grid[posX][posY]='X';
for (int i=0;i<=laenge;i++){
Grid[posX+=1][posY] = 'X';
}
}
Und so ginge es:
Code:
ship::ship(int a[],int ausrichtung,int id)
{
xy[0] = 0;
xy[1] = 0;
int posX= xy[0];
int posY= xy[1];
laenge = a[id];
if (ausrichtung == 90){
Grid[posX][posY]='X';
for (int i=0;i<=laenge;i++){
Grid[posX+=1][posY] = 'X';
}
}
// hier fehlt Code (...)
Hoffe ich konnte helfen
Zuletzt bearbeitet: