Tieni, ti ho aggiunto i commenti per farti capire. Se hai dubbi chiedi.
char campo [A][L] = {
{'0','1','2','3','4','5','6'},
{'A','A','A','A','A','A','A'},
{'B','B','B','B','B','B','B'},
{'C','C','C','C','C','C','C'},
{'D','D','D','D','D','D','D'},
{'E','E','E','E','E','E','E'},
{'F','F','F','F','F','F','F'},
};
for (int i = 0; i < A; i++)
{
//La stringa che andrò a stampare nel log, inizialmente vuota
NSString *row = @"";
for (int j = 0; j < L; j++)
{
//Definisco il carattere che andrò ad aggiungere alla stringa da stampare
char character;
//Se non è la prima colonna e non è la prima riga
if (j != 0 && i != 0)
{
//Aggiungo spazio vuoto
character = ' ';
}
else
{
//Aggiungo il valore
character = campo[i][j];
}
//Compongo la stringa appendendoci il carattere ottenuto dall if
row = [NSString stringWithFormat:@"%@ %c",row,character];
}
//Stampo a video la stringa
NSLog(@"%@",row);
}
NB: L' if per controllare se non è la prima colonna o riga, poteva essere sintetizzato in questo modo:
(j > 0 && i != 0 ? ' ' : campo[i][j])
Quindi se vuoi diminuire il codice (a discapito della leggibilità), potresti fare cosi:
char campo [A][L] = {
{'0','1','2','3','4','5','6'},
{'A','A','A','A','A','A','A'},
{'B','B','B','B','B','B','B'},
{'C','C','C','C','C','C','C'},
{'D','D','D','D','D','D','D'},
{'E','E','E','E','E','E','E'},
{'F','F','F','F','F','F','F'},
};
for (int i = 0; i < A; i++)
{
//La stringa che andrò a stampare nel log, inizialmente vuota
NSString *row = @"";
for (int j = 0; j < L; j++)
{
//Definisco il carattere che andrò ad aggiungere alla stringa da stampare
char character;
//Se non è la prima colonna e non è la prima riga
//Compongo la stringa appendendoci il carattere ottenuto dall if
row = [NSString stringWithFormat:@"%@ %c",row,(j != 0 && i != 0 ? ' ' : campo[i][j])];
}
//Stampo a video la stringa
NSLog(@"%@",row);
}
Questo è il mio risultato:
2013-10-30 10:41:14.863 prova[673:a0b] 0 1 2 3 4 5 6
2013-10-30 10:41:14.865 prova[673:a0b] A
2013-10-30 10:41:14.868 prova[673:a0b] B
2013-10-30 10:41:14.869 prova[673:a0b] C
2013-10-30 10:41:14.872 prova[673:a0b] D
2013-10-30 10:41:14.873 prova[673:a0b] E
2013-10-30 10:41:14.875 prova[673:a0b] F