0
Merci

Quelques mots de remerciements seront grandement appréciés.

Passer un tableau a 2 dimensions a une fonction


Passer un tableau a 2 dimensions a une fonction


Après analyse de l'organisation d'un tableau à 2 dimensions en mémoire, j'ai trouver cette solution :

Code source


// Fonction qui permettra de lire et modifier le tableau
void rec_tab( bool *tableau, int& taille_1, int& taille_2 ) 
{
      for ( int i_t1 =  0; i_t1<taille_1; i_t1++ )
      {
            for ( int i_t2 = 0; i_t2 < taille_2; i_t2++ )
                  tab[(int unsigned)((i_t1*taille_2)+i_t1))] = true;
      }
}


int main ()
{
   int taille_dimension1, taille_dimension2;
   taille_dimension1 = 4;
   taille_dimension2 = 4;
// Déclaration du tableau bool (Rappelez vous qu'un bool est codé sur 1 octet)
     bool tableau [taille_dimension1][taille_dimension2] = {false};
     rec_tab ( tableau[0], taille_dimension1, taille_dimension2 );    
     return 0;
}

EXPLICATIONS


Si, par exemple, on a un tableau qui est déclaré de cette façon :
bool tableau [ 2 ][ 2 ];


Cela revient a faire :
bool tableau [ 4 ]; // Parce que 2 * 2  = 4


donc pour accéder par exemple à l'index :
tableau [ 1 ][ 0 ];


il suffit de faire :
tableau [ 2 ];


et pour :
tableau [ 1 ][ 1 ];


il faut faire :
tableau [ 2 + 1 ];


J'espère que vous m'avez compris lol

A voir également

Publié par . Dernière mise à jour le par pijaku.

Ce document intitulé «  Passer un tableau a 2 dimensions a une fonction  » issu de CodeS-SourceS (https://codes-sources.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

36 Commentaires