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 à 100Vous 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
}Défi
FacileCré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 :
- Prendre un tableau d'entiers et sa taille en paramètres.
- Afficher chaque élément de la diagonale principale (où l'indice de ligne est égal à l'indice de colonne).
- 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 100Utiliser 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;
}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
2Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif