Programmation en C++ – Les tableaux à deux dimensions
Le langage de programmation C++ permet de créer des tableaux multidimensionnels. Voici la forme générale d’une déclaration d’un tableau multidimensionnelle :
type nomtab[size1] [size2] ... [sizeN];
Par exemple, la déclaration suivante crée un tableau de trois dimensions :
int tab [8][20][2];
Tableaux bidimensionnels
Un tableau bidimensionnel est une liste de tableaux unidimensionnels. Pour déclarer un tableau d’entier à deux dimensions de taille [x] [y], vous devez écrire quelque chose comme suit
type nomtab [ x ][ y ];
type peut être n’importe quel type de données valide et nomtab sera un identifiant valide. Un tableau bidimensionnel peut être considéré comme une table qui aura x nombre de lignes et y nombre de colonnes. Un tableau bidimensionnel tab, qui contient trois lignes et quatre colonnes, peut être représenté comme suit
Ainsi, chaque élément du tableau tab est identifié par un nom de la forme tab [i] [j], où «tab» est le nom du tableau et «i» et «j» sont les indices qui identifient de façon unique Chaque élément dans ‘tab’.
Initialisation d’un tableau bidimensionnelle
Les tableaux multidimensionnelles peuvent être initialisées en spécifiant des valeurs entre parenthèses pour chaque ligne. Voici un tableau avec 3 lignes et chaque ligne a 4 colonnes.
int tab[3][4] = { {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11} };
Les accolades imbriquées sont facultatives. L’initialisation suivante est équivalente à l’exemple précédent
int tab[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
Accès aux éléments d’un tableau à deux dimensions
Un élément d’un tableau bidimensionnel est accessible en utilisant les indices, c’est-à-dire l’indice de ligne et l’indice de colonne du tableau. Par exemple
int var = tab[1][2];
L’instruction ci-dessus prendra le 3ème élément de la 2ème ligne du tableau. Nous allons vérifier le programme suivant où nous avons utilisé une boucle imbriquée pour manipuler un tableau bidimensionnel
#include <iostream> using namespace std; int main () { /* Un tableau avec 5 lignes et 2 colonnes*/ int tab[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}}; int i, j; /* Affichage de chaque élément de tableau */ for ( i = 0; i < 5; i++ ) { for ( j = 0; j < 2; j++ ) { cout << " tab[ "<< i << " ][ "<< j << " ] = "<< tab[i][j] <<endl; } } return 0; }
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant
tab[0][0]: 0 tab[0][1]: 0 tab[1][0]: 1 tab[1][1]: 2 tab[2][0]: 2 tab[2][1]: 4 tab[3][0]: 3 tab[3][1]: 6 tab[4][0]: 4 tab[4][1]: 8
Comme expliqué ci-dessus, vous pouvez avoir des tableaux avec n’importe quel nombre de dimensions, bien qu’il soit probable que la plupart des tableaux que vous créez seront d’une ou deux dimensions.