Chap.4 Les Tableaux (Mise À Jour)
Chap.4 Les Tableaux (Mise À Jour)
Chap.4 Les Tableaux (Mise À Jour)
Niveau: 3B/2P
Date: 05-10-2020
1
Objectifs
A la fin de ce chapitre, l’étudiant sera capable de:
2
Les tableaux
3
Plan
4
Les tableaux unidimensionnels
5
Les tableaux unidimensionnels
Exemple introductif
Définition
Intérêts
Déclaration
Tableau et mémoire
6
Exemple introductif
Exemple:
Inconvénients:
7
Solution:
Disposer d’un objet plus complexe, pour stocker ces notes, et y
accéder à l’aide d’un indice.
15 12 10 9 13 20
Notes
Indices 0 1 2 3 4 5
8
Définition
Son nom
Sa taille
Sa dimension
Le type de ses éléments
9
Intérêts
• Gain de temps
• Rétrécissement du volume du programme
• Possibilité de réutilisation de toutes les valeurs
ultérieurement dans le programme.
10
Déclaration d’un tableau
Exemple :
int TAB[10];
float Notes[20];
11
Tableau & mémoire (1/2)
12
Tableau & mémoire (2/2)
13
Manipulation d’un tableau
Initialisation
Accès
Remplissage
Affichage
Recherche d’un élément
Suppression d’un élément
14
Initialisation
Exemple :
short A [5] = {1, 10, 9, 4, 5} ;
Réservation de (2 x 5) octets
char Lettres [26] = {‘ A ’, ‘ B ’};
int A[] ={1,2,3}; // la taille de A est 3
short A [4] = {1, 10, 9, 4, 5} ; // Erreur!
Par contre, on ne peut pas utiliser l'affectation !
Syntaxe
<NomTableau> [<indice>]
Exemple
16
Remplissage d’un tableau
17
Affichage d’un tableau
18
Recherche d’un élément dans le tableau
Exemple:
1. Parcours
2. Comparaison
3. affichage
Afficher Afficher Afficher Afficher
11 20 7 10 9 0 15 12 14 9
19
Suppression d’un élément dans le tableau
Exemple : Suppression de la valeur 0:
11 20 7 10 9 0 15 12 14 9
n=9
n=10
20
Règles à retenir Attention !
On ne peut pas affecter un tableau à un
autre par =
Exemple introductif
Définition
Déclaration
Tableau et mémoire
22
Exemple introductif (1/2)
10 ?
int NOTE[10][20] = {{10, 14, ... , 13, 16}, {09, 10, ... , 14, 12}, ... ... ...
{16, 14, ... , 17, 10}};
23
Exemple introductif (2/2)
int NOTE[10][20];
NOTE 0 1 2 … 19
0 10 14 … 13 16
1
09 10 … 14 12
… … … … … 10 lignes
…
16 14 … 17 10
9
20 colonnes
Définition
25
Déclaration
Syntaxe:
Exemple :
26
Tableau & mémoire
• Représentation graphique:
short A [3][2]={{1,2},{10,20},{100,200}}
0 1
A[0][0]=1 A[0][1]=2
0
1 A[1][0]=10 A[1][1]=20
2 A[2][0]=100 A[2][1]=200
• Représentation en mémoire
… 1 2 10 20 100 200 …
27
Manipulation d’un tableau bidimentionnel
Initialisation
Accès
Remplissage
Affichage
28
Initialisation (1/2)
Exemple
29
Initialisation (2/2)
int A [3][3]={{1,0,0},{1,1,1},{1,0,1}};
1 0 0
1 1 1
1 0 1
int B [3][3]={{1,1,1}};
1 1 1
!? !? !?
!? !? !?
int C [3][3]={{1,1,1,1}};
30
Accès
int main()
{
int A[5][10];
int I,J;
for (I=0; I<5; I++)
{
for (J=0; J<10; J++)
{
printf( «donner la valeur à stocker »);
scanf("%d", &A[I][J]);
}
}
return 0;
}
32
Affichage d’un tableau bidimensionnel
int main()
{
int A[5][10];
int I,J;
for (I=0; I<5; I++)
{
for (J=0; J<10; J++)
{
printf("%7d", A[I][J]); // décalage lors de l’affichage de contenu
}
printf("\n"); // retour à la ligne après l’affichage de chaque
ligne
}
return 0;
} 33