PDA

Visualizza la versione completa : [C]Array bidimensionali


Il-predestinato
06-04-2010, 22:54
Ragazzi, il programma è questo :




#include <stdio.h>
int main()
{
int array[2][2];
array[0][0]=1;
array[0][1]=2;
array[0][2]=3;
array[1][0]=4;
array[1][1]=5;
array[1][2]=6;
array[2][0]=7;
array[2][1]=8;
array[2][2]=9;
printf("[0][0] : %i\n",array[0][0]);
printf("[0][1] : %i\n",array[0][1]);
printf("[0][2] : %i\n",array[0][2]);
printf("[1][0] : %i\n",array[1][0]);
printf("[1][1] : %i\n",array[1][1]);
printf("[1][2] : %i\n",array[1][2]);
printf("[2][0] : %i\n",array[2][0]);
printf("[2][1] : %i\n",array[2][1]);
printf("[2][2] : %i\n",array[2][2]);
system("pause");
return 0;
}


E mi stampa :



[0][0] : 1
[0][1] : 2
[0][2] : 4
[1][0] : 4
[1][1] : 5
[1][2] : 7
[2][0] : 7
[2][1] : 8
[2][2] : 9
Premere un tasto per continuare . . .


Perchè??? :cry: :cry: :cry:
E' giusto il codice, no??? :confused: :confused: :confused:

shodan
06-04-2010, 23:06
Originariamente inviato da Il-predestinato
E' giusto il codice, no??? :confused: :confused: :confused:

No. :ecco:

2 non è un indice valido in quella matrice.
Detto N il valore di inizializzazione, gli indici validi sono 0 ... N-1
Quindi se N vale 2, i valori validi sono 0 e 1.

oregon
07-04-2010, 10:01
In altre parole, se usi gli indici 0 1 2, allora dovrai scrivere

int array[3][3];

Loading