CodeGym /Cours /C# SELF /Tableaux à deux dimensions

Tableaux à deux dimensions

C# SELF
Niveau 7, Leçon 4
Disponible

1. Introduction

Imagine un tableau classique comme une longue boîte à pizza où toutes les parts sont alignées — c’est bon, mais un peu monotone.

Maintenant, imagine un planning de boulot ou un échiquier. Là, tout est organisé en lignes et colonnes — donc en tableau. Voilà, c’est exactement le cas d’usage classique pour un tableau à deux dimensions.

Dans la vraie vie, les tableaux à deux dimensions sont partout :

  • Des tableaux de salaires des employés (lignes — employés, colonnes — mois).
  • Une image à l’écran (chaque "case" — la couleur d’un pixel, avec deux coordonnées : X et Y).
  • Calculs matriciels et traitement de données.
  • Un échiquier ou un plateau de morpion.

Parfois, un tableau à deux dimensions s’appelle une matrice (ce mot vient des maths).

Il y a plein de situations où, en tant que dev, tu vas avoir besoin d’un tableau à deux dimensions. Presque n’importe quel jeu de société, c’est un tableau 2D tout prêt : «Échecs», «Dames», «Morpion», «Bataille navale» :

Tableaux à deux dimensions 2

Le plateau de jeu des «Échecs» ou de la «Bataille navale» est juste parfait pour un tableau à deux dimensions, où tu utilises des nombres comme coordonnées des cases. Pas «pion e2 → e4», mais «pion (4,1) → (4,3)». Franchement, c’est même plus simple pour toi en tant que dev.

2. Syntaxe de déclaration des tableaux à deux dimensions

Ça fait peur juste avant la première déclaration ! On va voir ça étape par étape.

Règle générale

type[,] nomTableau;
Déclaration d’un tableau à deux dimensions

Ici, la virgule , dans les crochets — c’est pas une erreur de compilateur après une nuit blanche au café, c’est pour dire : le tableau est à deux dimensions.

Exemples

int[,] matrice;
double[,] tableauNotes;
string[,] echiquier;

Création d’un tableau

On définit les tailles : nombre de lignes et de colonnes.

matrice = new int[3, 4]; // 3 lignes, 4 colonnes

C’est un tableau 3x4 : imagine une feuille Excel avec 3 lignes et 4 colonnes.

On peut déclarer la variable et créer le tableau à deux dimensions direct :

int[,] matrice = new int[3, 4];

On peut aussi initialiser direct avec des valeurs (pareil qu’avec un tableau à une dimension) :

int[,] exemple = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
// Tableau 3 lignes, 3 colonnes
Initialisation d’un tableau à deux dimensions avec des valeurs

Important : TOUTES les lignes doivent avoir la même longueur quand tu initialises comme ça. Tu peux pas faire la première ligne avec 3 éléments et la deuxième avec 2.

Schéma visuel

┌─────┬─────┬─────┬─────┐
│  0  │  1  │  2  │  3  │  ← colonnes (Columns)
├─────┼─────┼─────┼─────┤
│ 0,0 │0,1  │0,2  │0,3  │  ← ligne 0 (Row 0)
├─────┼─────┼─────┼─────┤
│ 1,0 │1,1  │1,2  │1,3  │  ← ligne 1 (Row 1)
├─────┼─────┼─────┼─────┤
│ 2,0 │2,1  │2,2  │2,3  │  ← ligne 2 (Row 2)
└─────┴─────┴─────┴─────┘

Chaque élément est défini par une paire d’indices [ligne, colonne].

3. Indexation et accès aux éléments

Dans un tableau à deux dimensions, pour accéder à un élément, tu mets deux indices :

  • Le premier — numéro de la ligne
  • Le deuxième — numéro de la colonne

matrice[1, 2] = 99;  // Dans la deuxième ligne (indice 1), troisième colonne (indice 2)
Affectation d’une valeur à un élément du tableau à deux dimensions

Si t’es habitué aux échecs, petit rappel : l’indexation commence à zéro. Donc, le premier élément c’est [0, 0].

Écriture et lecture

int[,] donnees = new int[5, 2];
donnees[1, 1] = 5;         // écriture
int valeur = donnees[1, 1]; // lecture

Voilà à quoi ça ressemble en mémoire :

Tableaux à deux dimensions

4. Remplissage d’un tableau à deux dimensions

On va écrire un code qui remplit une matrice avec des nombres de 1 à 12, histoire de bien piger comment ça marche.

int[,] matrice = new int[3, 4];
int valeur = 1;

for (int ligne = 0; ligne < 3; ligne++)
{
    for (int col = 0; col < 4; col++)
    {
        matrice[ligne, col] = valeur;
        valeur++;
    }
}
Remplissage d’un tableau à deux dimensions avec des nombres dans l’ordre

Ici, la boucle extérieure parcourt les lignes, la boucle intérieure — les colonnes.

Illustration :

Après exécution :
┌────┬────┬────┬────┐
│ 1  │ 2  │ 3  │ 4  │
├────┼────┼────┼────┤
│ 5  │ 6  │ 7  │ 8  │
├────┼────┼────┼────┤
│ 9  │10  │11  │12  │
└────┴────┴────┴────┘

5. Dimensions : obtenir le nombre de lignes et de colonnes

Souvent, t’as besoin de connaître la taille du tableau "à la volée". En C#, t’as une méthode bien pratique : GetLength().

int[,] matrice = new int[3, 4];

int lignes = matrice.GetLength(0);    // nombre de lignes (première dimension) - 3
int colonnes = matrice.GetLength(1); // nombre de colonnes (deuxième dimension) - 4

Console.WriteLine($"Lignes : {lignes}, Colonnes : {colonnes}");
Attention :

ne confonds pas avec Length — pour un tableau à deux dimensions, c’est le nombre total de tous les éléments (lignes × colonnes).

6. Affichage d’un tableau à deux dimensions à l’écran

Pour afficher un tableau 2D, on utilise souvent une double boucle — c’est comme dessiner un labyrinthe dans la console. Exemple :

for (int ligne = 0; ligne < matrice.GetLength(0); ligne++)
{
    for (int col = 0; col < matrice.GetLength(1); col++)
    {
        Console.Write(matrice[ligne, col] + "\t"); // "\t" — tabulation pour faire joli
    }
    Console.WriteLine(); // saut de ligne
}

Exemple d’affichage :

1	2	3	4	
5	6	7	8	
9	10	11	12	

Au fait, là tu viens d’apprendre à "dessiner" des tableaux stylés avec juste quelques lignes de code !

7. Tableaux multidimensionnels

Et encore un truc cool sur les tableaux, auquel tu t’attendais sûrement. Si on peut faire un tableau à deux dimensions, on peut faire un tableau à trois dimensions, non ?

Ouais, tu peux créer un tableau de n’importe quelle dimension. Ces tableaux s’appellent multidimensionnels.

Comment déclarer des tableaux multidimensionnels

Il suffit de mettre le nombre de dimensions qu’il te faut, séparées par des virgules :

int[,,,] matrice = new int[2, 3, 4, 5];
Déclaration d’un tableau à quatre dimensions

Ici, on a un tableau à quatre dimensions :

  • 2 éléments pour la première coordonnée,
  • 3 — pour la deuxième,
  • 4 — pour la troisième,
  • 5 — pour la quatrième.

En mémoire, ce genre de tableau c’est un gros “cube” de données, rangé à la suite.

Comment accéder aux éléments

On accède à un élément en mettant tous les indices d’un coup :

matrice[0, 1, 2, 3] = 42;
int valeur = matrice[1, 2, 0, 4];
  • Les indices commencent à zéro, comme toujours en C#.
  • Au total, ce tableau aura 2 × 3 × 4 × 5 = 120 éléments.

Exemples pratiques de tableaux multidimensionnels

  • 2D — tableaux, échiquiers, images.
  • 3D — “cubes” en graphisme, données pour calculs scientifiques (genre température à différents points dans l’espace et le temps).
  • 4D et plus — c’est rare, mais ça existe en maths avancées, simulations, machine learning, etc.
2
Mission
C# SELF, niveau 7, leçon 4
Bloqué
Initialisation d'un tableau à deux dimensions et affichage de ses éléments
Initialisation d'un tableau à deux dimensions et affichage de ses éléments
2
Mission
C# SELF, niveau 7, leçon 4
Bloqué
Calcul de la somme des éléments de chaque ligne dans un tableau à deux dimensions
Calcul de la somme des éléments de chaque ligne dans un tableau à deux dimensions
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION