Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Matrice dentro ad un altra matrice
Forum - C/C++ - Matrice dentro ad un altra matrice

Avatar
mistervox (Normal User)
Rookie


Messaggi: 26
Iscritto: 11/01/2010

Segnala al moderatore
Postato alle 19:07
Venerdì, 12/03/2010
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ì
Codice sorgente - presumibilmente Delphi

  1. for (int i=1;i<r+1;i++){
  2. for (int j=1;j<r+1;j++){
  3. for (int k=0;k<r;k++){
  4. for (int l=0;l<r;l++){
  5. matrice[i][j]=campo[k][l];
  6. }
  7. }
  8. }
  9. }


mi spiegate come funzionano gli indici i j k l o meglio chi incrementa prima e chi dopo? grazie.

Ultima modifica effettuata da mistervox il 12/03/2010 alle 19:07


lol
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 19:22
Venerdì, 12/03/2010
Procedimento davvero macchinoso, secondo mè non è necessario annidare 4 cicli for, ne bastano 2!

Ecco un esempio:

Codice sorgente - presumibilmente C/C++

  1. for (i=0; i<RighePrimaMatrice; i++)
  2. {
  3.   for (j=0; j<ColonnePrimaMatrice; j++)
  4.   {
  5.      SecondaMatrice[i+1] [j+1]=PrimaMatrice[i] [j];
  6.   }
  7. }




Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
mistervox (Normal User)
Rookie


Messaggi: 26
Iscritto: 11/01/2010

Segnala al moderatore
Postato alle 19:43
Venerdì, 12/03/2010
grazie mille! :asd::k::rotfl::rotfl::rotfl::rotfl::rotfl::rotfl:


lol
PM Quote