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: