Oppure

Loading
12/03/10 18:07
mistervox
Ciao ragazzi sto realizzando il gioco life in c++, sono ad un buon punto, ora ho un problema.
Ho una matrice quadrata, devo fare dei controlli su questa matrice e per farli devo usare una matrice più grande di 2 righe e 2 colonne e devo portare al centro di questa la mia matrice precedente, per capirci:
la mia matrice è 3x3 e gli elementi sono:
0 1 0
1 1 0
0 0 1
e la matrice del controllo sarà prima:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
e dovrà diventare:
0 0 0 0 0
0 0 1 0 0
0 1 1 0 0
0 0 0 1 0
0 0 0 0 0
per farlo uso dei cicli for, ma non riesco a capire come metterli, io faccio così
for (int i=1;i<r+1;i++){
for (int j=1;j<r+1;j++){
for (int k=0;k<r;k++){
for (int l=0;l<r;l++){
matrice[i][j]=campo[k][l];
}
}
}
}

mi spiegate come funzionano gli indici i j k l o meglio chi incrementa prima e chi dopo? grazie.
Ultima modifica effettuata da mistervox 12/03/10 18:07
aaa
12/03/10 18:22
Poggi Marco
Procedimento davvero macchinoso, secondo mè non è necessario annidare 4 cicli for, ne bastano 2!

Ecco un esempio:

for (i=0; i<RighePrimaMatrice; i++)
{
  for (j=0; j<ColonnePrimaMatrice; j++)
  {
     SecondaMatrice[i+1] [j+1]=PrimaMatrice[i] [j];
  }
}

aaa
12/03/10 18:43
mistervox
grazie mille! :asd::k::rotfl::rotfl::rotfl::rotfl::rotfl::rotfl:
aaa