Menu
Coddy logo textTech

Tableaux multidimensionnels

Fait partie de la section Fundamentals du Journey C de Coddy — leçon 56 sur 63.

Un tableau multidimensionnel est un tableau de tableaux. En C, vous pouvez créer un tableau 2D (le tableau multidimensionnel le plus courant), essentiellement un tableau avec des lignes et des colonnes.

Déclarer un tableau 2D :

int matrix[3][4];

Cela crée un tableau 2D avec 3 lignes et 4 colonnes.

Vous pouvez initialiser un tableau 2D lors de sa déclaration :

int matrix[3][4] = {
    {1, 2, 3, 4},    // Première ligne
    {5, 6, 7, 8},    // Deuxième ligne
    {9, 10, 11, 12}  // Troisième ligne
};

Pour accéder aux éléments d'un tableau 2D, utilisez deux indices :

int value = matrix[1][2];  // Accède à la ligne 1, colonne 2 (la valeur sera 7)

Pour modifier un élément dans un tableau 2D :

matrix[0][3] = 100;  // Modifie l'élément à la ligne 0, colonne 3 à 100

Vous pouvez également utiliser des boucles imbriquées pour accéder à tous les éléments d'un tableau 2D :

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Nouvelle ligne après chaque ligne
}
challenge icon

Défi

Facile

Créez une fonction appelée printDiagonal qui prend un tableau carré en 2D (où le nombre de lignes est égal au nombre de colonnes) et affiche les éléments de la diagonale principale (du coin supérieur gauche au coin inférieur droit).

La fonction doit :

  1. Prendre un tableau d'entiers et sa taille en paramètres.
  2. Afficher chaque élément de la diagonale principale (où l'indice de ligne est égal à l'indice de colonne).
  3. Séparer chaque élément par un espace.

Par exemple, étant donné le tableau :

1 2 3 4 5 6 7 8 9

La fonction doit afficher : 1 5 9

Aide-mémoire

Un tableau multidimensionnel est un tableau de tableaux. En C, vous pouvez créer un tableau 2D avec des lignes et des colonnes.

Déclarer un tableau 2D :

int matrix[3][4];

Initialiser un tableau 2D lors de la déclaration :

int matrix[3][4] = {
    {1, 2, 3, 4},    // Première ligne
    {5, 6, 7, 8},    // Deuxième ligne
    {9, 10, 11, 12}  // Troisième ligne
};

Accéder aux éléments en utilisant deux indices :

int value = matrix[1][2];  // Accède à la ligne 1, colonne 2 (la valeur sera 7)

Modifier un élément :

matrix[0][3] = 100;  // Remplace l'élément à la ligne 0, colonne 3 par 100

Utiliser des boucles imbriquées pour accéder à tous les éléments :

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Nouvelle ligne après chaque ligne
}

Essayez vous-même

#include <stdio.h>

// Fonction pour afficher les éléments de la diagonale d'une matrice carrée
void printDiagonal(int matrix[][100], int size) {
    // Écrivez votre code ici
    
}

int main() {
    int size;
    scanf("%d", &size);
    
    int matrix[100][100];
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    
    printDiagonal(matrix, size);
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals