È dato il seguente programma:
#includeint main() { int mat[10][10][10]; int i,j,k; for(i=0; i < 10; i++) for(j=0; j < 10; j++) for(k=0; k < 10; k++) mat[i][j][k]=i+j+2*k; for(i=0; i < 10; i++) printf(" %d",mat[9-i][9-i][9-i]); return 0; } Cosa viene visualizzato a video dall'esecuzione del programma?
Soluzione: 36 32 28 24 20 16 12 8 4 0.
Il primo blocco di for() inizializza la matrice mat con 10x10x10=10.000 valori dati dalla formula i+j+2*k...
Il ciclo for() successivo visualizza soltanto 10 valori che possono essere calcolati facilmente
- i=0, mat[9-0][9-0][9-0]=mat[9][9][9]=9+9+2*9=4*9=36
- i=1, mat[9-1][9-1][9-1]=mat[8][8][8]=8+8+2*8=4*8=32
- ...
- i=9, ..., 4*0=0
Si tratta dei multipli di 4 in ordine decrescente.