Programmer en C++
Les tableaux dynamiques

1. Les tableaux dynamiques en 2D, 3D, ...

Dans un jeux d'échec par exemple, la position de chaque pièce est définie par une ligne et une colonne, donc avec deux dimensions. En mathématiques, les matrices comportent des nombres organisées également en lignes et colonnes. Il nous faut donc un outil permettant de sauvegarder ou de lire une donnée à partir de deux indices de position. C'est ce que nous allons faire avec le tableau à deux dimensions. Comment le créer ?
Pour bien comprendre le principe, revenons à la création d'un tableau simple (un tableau unidimensionnel). Vous vous souvenez, il à besoin de connaitre le type de données à saisir dans le tableau (<int>, <float>, ...).

L'astuce, c'est que nous n'allons pas fournir un type de variable, mais à la place proposer un tableau. Vous avez compris, on met un tableau dans un tableau. En poursuivant sur cette logique, vous vous doutez surement que pour créer un tableau en trois dimensions, vous allez mettre un tableau, dans un tableau, dans un tableau.
Poursuivons avec notre tableau en 2D. Concrétement ça donne quoi ?

J'aimerais remplir mon tableau avec des valeurs différentes de 0. C'est possible ?
Oui bien sur regardons cet exemple :

// Déclaration et initialisation d'un tableau 2D avec des valeurs prédéterminées
vector <vector <int>> Tableau2D =
{
    {2, 5, 7},
    {-1, 0, 3}
}

Si maintenant je désire remplacer la valeur 3 par 4 ?
C'est simple j'écris :

Tableau2D[1][2] = 4;

N'oubliez pas en effet que les indices commencent à zéro ! Nous modifions donc l'élément se trouvant à la deuxième ligne, et à la troisième colonne.