Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser les tableaux multidimensionnels en C : 2D et 3D expliqués

Tableaux multidimensionnels en C

Dans ce tutoriel, vous apprendrez à travailler avec les tableaux multidimensionnels (tableaux bidimensionnels et tridimensionnels) avec l'aide d'exemples.

En programmation C, vous pouvez créer un tableau de tableaux. Ces tableaux sont connus sous le nom de tableaux multidimensionnels. Par exemple,

float x[3][4];

Ici, x est un tableau bidimensionnel (2D). Le tableau peut contenir 12 éléments. Vous pouvez considérer le tableau comme un tableau avec 3 lignes et chaque ligne a 4 colonnes.

Maîtriser les tableaux multidimensionnels en C : 2D et 3D expliqués

De même, vous pouvez déclarer un tableau tridimensionnel (3D). Par exemple,

float y[2][4][3];

Ici, le tableau y peut contenir 24 éléments.


Initialisation d'un tableau multidimensionnel

Voici comment vous pouvez initialiser les tableaux bidimensionnels et tridimensionnels :


Initialisation d'un tableau 2D


// Différentes façons d'initialiser un tableau bidimensionnel
int c[2][3] = {{1, 3, 0}, {-1, 5, 9}};
int c[][3] = {{1, 3, 0}, {-1, 5, 9}};
int c[2][3] = {1, 3, 0, -1, 5, 9};

Initialisation d'un tableau 3D

Vous pouvez initialiser un tableau tridimensionnel de manière similaire à un tableau bidimensionnel. Voici un exemple,

int test[2][3][4] = {
    {{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
    {{13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}}
};

Exemple 1 : Tableau bidimensionnel pour stocker et afficher des valeurs


// Programme C pour stocker la température de deux villes sur une semaine et l'afficher.
#include <stdio.h>
const int VILLE = 2;
const int SEMAINE = 7;
int main() {
    int temperature[VILLE][SEMAINE];
    // Utilisation de boucles imbriquées pour stocker les valeurs dans un tableau 2D
    for (int i = 0; i < VILLE; ++i) {
        for (int j = 0; j < SEMAINE; ++j) {
            printf("Ville %d, Jour %d: ", i + 1, j + 1);
            scanf("%d", &temperature[i][j]);
        }
    }
    printf("\nAffichage des valeurs : \n\n");
    // Utilisation de boucles imbriquées pour afficher les valeurs d'un tableau 2D
    for (int i = 0; i < VILLE; ++i) {
        for (int j = 0; j < SEMAINE; ++j) {
            printf("Ville %d, Jour %d = %d\n", i + 1, j + 1, temperature[i][j]);
        }
    }
    return 0;
}

Sortie

Ville 1, Jour 1: 33
Ville 1, Jour 2: 34
Ville 1, Jour 3: 35
Ville 1, Jour 4: 33
Ville 1, Jour 5: 32
Ville 1, Jour 6: 31
Ville 1, Jour 7: 30
Ville 2, Jour 1: 23
Ville 2, Jour 2: 22
Ville 2, Jour 3: 21
Ville 2, Jour 4: 24
Ville 2, Jour 5: 22
Ville 2, Jour 6: 25
Ville 2, Jour 7: 26
Affichage des valeurs:
Ville 1, Jour 1 = 33
Ville 1, Jour 2 = 34
Ville 1, Jour 3 = 35
Ville 1, Jour 4 = 33
Ville 1, Jour 5 = 32
Ville 1, Jour 6 = 31
Ville 1, Jour 7 = 30
Ville 2, Jour 1 = 23
Ville 2, Jour 2 = 22
Ville 2, Jour 3 = 21
Ville 2, Jour 4 = 24
Ville 2, Jour 5 = 22
Ville 2, Jour 6 = 25
Ville 2, Jour 7 = 26

Exemple 2 : Somme de deux matrices


// Programme C pour trouver la somme de deux matrices d'ordre 2*2
#include <stdio.h>
int main() {
    float a[2][2], b[2][2], resultat[2][2];
    // Prise de saisie en utilisant des boucles for imbriquées
    printf("Entrez les éléments de la 1ère matrice\n");
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j) {
            printf("Entrez a%d%d : ", i + 1, j + 1);
            scanf("%f", &a[i][j]);
        }
    // Prise de saisie en utilisant des boucles for imbriquées
    printf("Entrez les éléments de la 2ème matrice\n");
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j) {
            printf("Entrez b%d%d : ", i + 1, j + 1);
            scanf("%f", &b[i][j]);
        }
    // Addition des éléments correspondants de deux tableaux
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j) {
            resultat[i][j] = a[i][j] + b[i][j];
        }
    // Affichage de la somme
    printf("\nSomme des matrices :");
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j) {
            printf("%.1f\t", resultat[i][j]);
            if (j == 1) printf("\n");
        }
    return 0;
}

Sortie

Entrez les éléments de la 1ère matrice
Entrez a11: 2; Entrez a12: 0.5; Entrez a21: -1.1; Entrez a22: 2;
Entrez les éléments de la 2ème matrice
Entrez b11: 0.2; Entrez b12: 0; Entrez b21: 0.23; Entrez b22: 23;
Somme des matrices:
2.2     0.5
-0.9    25.0

Exemple 3 : Tableau tridimensionnel


// Programme C pour stocker et afficher 12 valeurs entrées par l'utilisateur
#include <stdio.h>
int main() {
    int test[2][3][2];
    printf("Entrez 12 valeurs : \n");
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 2; ++k) {
                scanf("%d", &test[i][j][k]);
            }
        }
    }
    // Affichage des valeurs avec index approprié.
    printf("\nAffichage des valeurs :\n");
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 2; ++k) {
                printf("test[%d][%d][%d] = %d\n", i, j, k, test[i][j][k]);
            }
        }
    }
    return 0;
}

Sortie

Entrez 12 valeurs: 1 2 3 4 5 6 7 8 9 10 11 12
Affichage des valeurs:
test[0][0][0] = 1
test[0][0][1] = 2
test[0][1][0] = 3
test[0][1][1] = 4
test[0][2][0] = 5
test[0][2][1] = 6
test[1][0][0] = 7
test[1][0][1] = 8
test[1][1][0] = 9
test[1][1][1] = 10
test[1][2][0] = 11
test[1][2][1] = 12

Langue C

  1. Maîtriser les tableaux C# : Déclaration, initialisation et opérations
  2. Comment passer des tableaux 1D et 2D aux fonctions en C – Guide pratique
  3. Comprendre la relation entre les tableaux et les pointeurs en C
  4. Techniques de copie de tableaux en Java : Guide complet
  5. Pourquoi les données urbaines comptent : transformer les insights en innovation urbaine
  6. Construire des villes intelligentes human-centric : un plan stratégique
  7. 5 étapes pour construire des villes plus intelligentes et plus sûres
  8. Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
  9. Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code