Tableau 2D
Un tableau à deux dimensions est un tableau qui a deux index pour chaque élément (souvent ces tableaux sont appelés avec un seul mot - matrice).
Il est pratique de stocker et de traiter diverses données tabulaires dans une matrice. Tout comme n'importe quel tableau est composé de lignes et de colonnes, les matrices sont composées de lignes et de colonnes.
Pour plus de clarté, vous pouvez représenter un tableau comme ceci :
Bien qu'en fait, dans la mémoire de l'ordinateur, la matrice ressemblera à ceci :
Pour utiliser une matrice dans un programme, elle doit être déclarée comme un tableau normal, en spécifiant le type de données et deux tailles (nombres ou constantes). Il est également possible (et souhaitable) de définir immédiatement les valeurs initiales. Par exemple, réinitialisez tous les éléments.
Exemple 1 : Déclaration d'un tableau de 3 lignes et 3 colonnes avec des valeurs initiales arbitraires
intA[3][3] = {{0,1,2},
{3,4,5},
{6,7,8} } ;
Exemple 2 : Déclaration d'un tableau de 5 lignes et 10 colonnes (la taille est définie via une constante) avec des valeurs initiales nulles
const int N = 5, M = 10 ;
double B[N][M] = {} ;
Pour faire référence à un élément spécifique de la matrice, nous utilisons deux paires de crochets, dans le premier crochet nous indiquons le numéro de ligne, dans le second - le numéro de colonne.
Exemple :   ;
A[0][2] = 100 ; //la numérotation des lignes et des colonnes commence à zéro
Remplir la matrice et l'afficher
Afin de parcourir toute la matrice, une boucle imbriquée est nécessaire. Regardons le remplissage et la sortie d'une matrice en utilisant l'exemple d'un programme qui demande les valeurs des éléments au clavier et affiche simplement la matrice remplie à l'écran.
#include <iostream>
en utilisant l'espace de noms std ;
int main() {
/* Déclaration d'un tableau à deux dimensions */
const int N = 2, M = 3 ;
entier A[N][M] ;
/* renseigner ligne par ligne les éléments de la matrice depuis le clavier */
int je, j ;
pour (i = 0; je < N; i++)
pour (j = 0; j < M; j++)
cin>> A[i][j] ;
//Affiche tous les éléments de la matrice à l'écran ligne par ligne
for (i = 0; i < N; i++) { // la boucle externe est responsable de l'itération sur les lignes
for (j = 0; j < M; j++) //boucle pour afficher les éléments de la chaîne
cout << A[i][j] << " ";
cout << fin ; // après avoir affiché les éléments de la j-ième ligne, on passe à une nouvelle ligne
}
renvoie 0 ;
}
Dans l'exemple ci-dessus, le remplissage et l'affichage de la matrice se produisent ligne par ligne (nous parcourons d'abord toutes les valeurs j - l'index des colonnes, puis seulement l'index de ligne change - je)
En échangeant les boucles (interne avec externe), vous pouvez remplir et / ou sortir un tableau par colonnes