Tableaux multidimensionnels en C
En C / C++, nous pouvons définir des tableaux multidimensionnels en termes simples comme tableau de tableaux. Les données des tableaux multidimensionnels sont stockées sous forme de tableaux
Forme générale de déclaration de tableaux à N dimensions:
- type_données: Type de données à stocker dans le tableau. Ici type_données est un type de données C/C ++ valide
- nom_tab : nom du tableau
- taille1, taille2,..., tailleN : Tailles des dimensions
Exemple 1 :
// Tableau à deux dimensions int tab[2][3]; // Tableau en trois dimensions int tab[2][3][4];
Taille des tableaux multidimensionnels
Le nombre total d'éléments pouvant être stockés dans un tableau à deux dimensions peut être calculé en multipliant la taille de toutes les dimensions.
Par exemple:
Le tableau int tab[5][3] peut stocker un total (5 * 3) = 15 éléments.
Tableau à deux dimensions
Un tableau à deux dimensions est la forme la plus simple d’un tableau multidimensionnel. Nous pouvons voir un tableau à deux dimensions comme un tableau de tableau à une dimension pour faciliter la compréhension.
Déclaration
On peut déclarer un tableau entier à deux dimensions dit M de taille 5,4
// Tableau à deux dimensions int Tab[5][4];
- Les éléments des tableaux à deux dimensions sont communément désignés par Tab[i][j], où "i" est le numéro de la ligne et "j" le numéro de la colonne.
- Un tableau à deux dimensions peut être vu sous forme de tableau avec "n" lignes et "m" colonnes où le numéro de ligne est compris entre 0 et (n-1) et le numéro de colonne est compris entre 0 et (m-1).
Un tableau à deux dimensions "Tab" avec 3 lignes et 4 colonnes est présenté ci-dessous:
Initialisation
Un tableau à deux dimensions peut être initialisé de deux manières.
Méthode 1
int Tab[3][4] = {0, 1 ,2 ,3 ,4 , 5 , 6 , 7 , 8 , 9 , 10 , 11};
Le tableau ci-dessus a 3 lignes et 4 colonnes. Les éléments entre les accolades de gauche à droite sont également stockés dans le tableau de gauche à droite. Les éléments seront remplis dans le tableau dans l'ordre, les 4 premiers éléments à partir de la gauche dans la première ligne, les 4 suivants dans la deuxième ligne, etc.
Méthode 2 (Meilleure)
int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
Ce type d'initialisation utilise des accolades imbriquées. Chaque ensemble d'accolades internes représente une ligne. Dans l'exemple ci-dessus, il y a un total de trois lignes, donc il y a trois ensembles d'accolades internes.
Accès aux éléments de tableaux à deux dimensions
Les éléments des tableaux à deux dimensions sont accessibles à l'aide des indices de ligne et des indices de colonne.
Exemple 2 :
#include < stdio.h> int main(void){ int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}}; Tab[0][1]=8; printf(" Tab[0][1] ", Tab[0][1]); return 0; }
Pour afficher tous les éléments d'un tableau à deux dimensions, nous pouvons utiliser des boucles "for" imbriquées.
Il nous en faut deux pour les boucles. L'une parcourir les lignes et l'autre parcourir les colonnes.
Exemple 3 :
#include < stdio.h> int main(void){ int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}}; int i,j; for(i=0 ; i< 3 ; i++) { for(j=0 ; j < 4 ; j++) { printf(" Elément : Tab[%d][%d]= %d \n", i, j, Tab[i][j]); } } return 0; }
Elément : Tab[0][1]= 1
Elément : Tab[0][2]= 2
Elément : Tab[0][3]= 3
Elément : Tab[1][0]= 4
Elément : Tab[1][1]= 5
Elément : Tab[1][2]= 6
Elément : Tab[1][3]= 7
Elément : Tab[2][0]= 8
Elément : Tab[2][1]= 9
Elément : Tab[2][2]= 10
Elément : Tab[2][3]= 11