Programmtion
Chapitre 1: Les tableaux multidimensionnels et les structures en C
http://atelierprog2fseg.zymichost.com
Les tableaux multidimensionnels
Question
On veut représenter le nombre d’étudiants par niveau d’étude et par filière.
Niveau
1er 2ème 3ème 4ème COMP
Filière
INFO GEST
3
Première solution int T[12];
270 étudiants en 4ème gestion
450 450 280 160 900 600 430 270 830 570 400 180
1ere 2ème 3ème 4ème INFO
1ere2ème 3ème 4ème 1ere 2ème 3ème 4ème GEST COMP
On ne voit pas immédiatement le nombre d’étudiants pour une filière donnée et un niveau donné
4
Une meilleure solution int T [3][4];
Tableau à 2 dimensions
Niveau d’étude
1ère
INFO
2ème 450 600 570
3éme 280 430 400
4éme 160 270 180
5
450 900 830
Filière
GEST
270 étudiants en 4ème gestion
COMP
Déclaration
Type Nom_tableau [taille_1] [taille_2] … [taille_n];
Ce sont des entiers positifs qui indiquent le nombre d’éléments dans chaque dimension.
Le produit (taille_1 * taille_2 * ….. * taille_n) fournit le nombre d’éléments du tableau. Tableau à plusieurs dimensions = Tableau de tableaux.
6
Accès aux éléments
Elément de la première ligne et de la première colonne
1ère 2ème 450 600 570 3ème 280 430 400 4ème 160 270 180 T[0][0] T[0][1] T[0][2] T[0][3] T[1][0] T[1][1] T[1][2] T[1][3] T[2][0] T[2][1] T[2][2] T[2][3] 830
[0] [1] [2]
INFO GEST
COMP
450 900
[0] [1]
[2]
[3]
7
Initialisation int T [3][4]; T[0][0] = 450; T[0][1] = 450; T[0][2] = 280; T[0][3] = 160; T[1][0] = 900; T[1][1] = 600; T[1][2] = 430; T[1][3] = 270; T[2][0] = 830; T[2][1] = 570; T[2][2] = 400; T[2][3] = 190;
int T [3][4] = { {450, 450, 280, 160}, {900, 600, 430, 270}, {830, 570, 400, 190} };
450 900 830
450 600 570
280 430 400
160 270 190
int T [3][4] = { 450, 450, 280, 160, 900, 600, 430, 270, 830, 570, 400, 190} ;
8
Initialisation: Attention !! int T [][4] = { 450, 450, 280, 160,