Ritorna alla pagina del corso.
Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.
01: /*
02: 7. usi un array per memorizzare le caselle di una scacchiera 8x8, lo
03: inizializzi usando uno o piú cicli mettendo 'N' per le caselle nere e
04: 'B' per quelle chiare e successivamente lo stampi:
05: */
06:
07: #include<stdio.h>
08: #include<stdlib.h>
09:
10: #define MSIZE (8)
11:
12: int main(int argc, char **argv){
13:
14: char sc[MSIZE * MSIZE]; // array monodimensionale (ovviamente il numero di elementi DEVE essere lo stesso)
15:
16: for(int r = 0; r < MSIZE; ++r)
17: for(int c = 0; c < MSIZE; ++c)
18: {
19: // secondo approccio visto in esercizio precedente
20: if((r + c) % 2)
21: sc[r*MSIZE + c] = 'B'; // questa formula mi permette di ricavare l'indice effettivo nell'array monodimensionale
22: else // in generale e' (indice di riga)*(numero di colonne) + (indice di colonna)
23: sc[r*MSIZE + c] = 'N';
24: }
25:
26: // stampa della matrice
27: for(int r = 0; r < MSIZE; ++r)
28: {
29: for(int c = 0; c < MSIZE; ++c)
30: {
31: printf("%c", sc[r*MSIZE + c]);
32: }
33: printf("\n");
34: }
35:
36: return 0;
37: }
38:
39: