CodeS-SourceS
Rechercher un code, un tuto, une réponse

Passer un tableau a 2 dimensions a une fonction

Mai 2017


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 soso62fr.
Ce document intitulé «  Passer un tableau a 2 dimensions a une fonction  » issu de CodeS-SourceS (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.
Opengl : gluunproject / comment projeter la souris sur un plan !
Distribuer un jeu de cartes