Langage C

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 nom_tab[taille1][taille2]....[tailleN];
  • 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;
                                }
                            
  8

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][0]= 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

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :