Ich versuche, ein (10x10) 2-dimensionalen Zeichen-Array zu erstellen zu speichern entweder '' und 'T' und zeigt es wie diese2-dimensionale Array Manipulation
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
Die Funktion schrieb ich:
int plant_forest(char forest[][SIZE])
{
int i,j;
forest[0][0] = ' ';
for(i = 0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{
if(forest[i][j]!= forest[0][0])
{
if(forest[i][j-1]!='T' && forest[i-1][j]!= 'T')
{
forest[i][j] = 'T';
}
else
{
forest[i][j] = ' ';
}
}
}
}
return 0;
}
Das Ergebnis, das ich bekam, war etwas anders.
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
| | |T| |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
|T| | |T| |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
| |T| | |T| |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
|T| |T| | |T| |T| |T|
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| | |T| |T| |
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| | |T| |T|
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| | |T| |
+-+-+-+-+-+-+-+-+-+-+
|T| |T| |T| |T| | |T|
+-+-+-+-+-+-+-+-+-+-+
| |T| |T| |T| |T| | |
+-+-+-+-+-+-+-+-+-+-+
ich die Logik überprüft und nichts finden konnte. Außer von i-1 und j-1 könnte negative Zahl sein. Aber wie würde das die Ausführung beeinflussen?
Nur als Referenz, ich werde hier die Druckfunktion enthalten. Aber ich habe bereits überprüft und sicher, dass es kein Fehler war in dieser Funktion
void printBoard(char forest[][SIZE])
{
int i,j;
printf("+-+-+-+-+-+-+-+-+-+-+\n");
for(i = 0; i<SIZE;i++)
{
for(j = 0;j<SIZE;j++)
{
printf("|%c",forest[i][j]);
}
printf("|\n");
printf("+-+-+-+-+-+-+-+-+-+-+\n");
}
}
'[j-1]' - aber 'j' beginnt bei 0! Ganz abgesehen von '[0] [0]' 'forest' ist nicht initialisiert. Was Sie haben, sieht massiv über kompliziert (und ziemlich buggy) aus, nur um ein "Schachbrett" zu bekommen. – John3136
Forest wird in der Hauptfunktion initialisiert. –
Um ein Schachbrett zu machen: 'Wald [i] [j] = (i + j) & 1? 'T': ''; ' – user3386109