Vous êtes sur la page 1sur 20

LES TABLEAUX

Les variables, telles que nous les avons vues, ne permettent de


stocker qu'une seule donnée à la fois.
Or, pour de nombreuses données, comme cela est souvent le
cas, des variables distinctes seraient beaucoup trop lourdes à
gérer. Heureusement, le langage C++ propose des structures
de données permettant de stocker l'ensemble de ces données
dans une « variable commune ».
Ainsi, pour accéder à ces valeurs il suffit de parcourir la
variable de type complexe composée de « variables » de type
simple.

Parmi ces structures on trouve :


les tableaux
88
LES TABLEAUX

Définition
« Les tableaux sont une suite de variables de même type, situées
dans un espace contigu en mémoire. »
Tableau

Variable
5 160

adresse
adresse 153 123 161

10 Valeur
33 162

7 163
89
LES TABLEAUX

Remarques:
• Lorsqu'un tableau est créé, il prend un espace contigu
en mémoire : les cases sont les unes à la suite des
autres.
• Toutes les cases d'un tableau sont du même type. Ainsi,
un tableau de int contiendra uniquement des int, et pas
autre chose.
• Les cases (espace mémoire) sont de même taille. La
taille de chacune des cases est conditionnée par le
type de donnée que le tableau contient.
90
Déclaration d’un tableau

En langage C++, la syntaxe de la définition d'un tableau est


la suivante :

type Nom_du_tableau [Nombre d'éléments]

type définit le type d'élément que contient le tableau


(rappel : un tableau en langage C++ est composé
uniquement d'éléments de même type), c'est-à-dire qu'il
définit la taille d'une case du tableau en mémoire.
91
Déclaration d’un tableau

En langage C++, la syntaxe de la définition d'un tableau est


la suivante :

type Nom_du_tableau [Nombre d'éléments]

Nom_du_tableau est le nom que l'on décide de donner


au tableau, le nom du tableau suit les mêmes règles qu'un
nom de variable.

92
Déclaration d’un tableau

En langage C++, la syntaxe de la définition d'un tableau est


la suivante :

type Nom_du_tableau [Nombre d'éléments]

Nombre d'éléments est un nombre entier qui détermine


le nombre de cases que le tableau doit comporter

93
Déclaration d’un tableau

Voici par exemple la définition d'un tableau qui doit


contenir 8 éléments de type double :
double tab[8];

Un autre exemple de la définition d'un tableau qui doit


contenir 4 éléments de type entier :
int z[4];

94
Initialisation d’un tableau

Comment accéder à chaque case du tableau ?


Pour accéder à la case d’indice i, on utilisera tab [i].
Exemple:

Attention : un tableau commence à l'indice n° 0 !


Un tableau de 10 int a donc les indices 0, 1, 2..9. Il n'y a
pas d'indice 10 dans un tableau de 10 cases !
95
Initialisation d’un tableau

Remarque:
Les éléments du tableau ne sont absolument pas initialisés : ce
serait une erreur de croire qu’ils sont tous à zéro juste après
la création du tableau !
Pour accéder à la case d’indice i, on utilisera tab [i].
Exemple d’utilisation :
• tab [3] = 12; met la valeur 12 dans la case numéro 3 du
tableau tab.
• cout<<tab [3]; affiche la valeur contenue dans la case
numéro 3 du tableau tab.
• tab [3] = tab [3] + 2 ; ajoute 2 à la valeur contenue dans la
case numéro 3 du tableau. Puisqu’elle contenait auparavant
la valeur 12, elle contiendra à présent la valeur 14.
96
Initialisation d’un tableau

Exemple:
Ecrire un programme qui demande à l’utilisateur de
remplir chacune des 10 cases du tableau d’entiers. Puis,
affiche le tableau complet à l’écran.

97
Initialisation d’un tableau
int main () {
int tab [10] ; /* un tableau de 10 entiers est initialisé */
int i ;
/* On demande à l’utilisateur de remplir les 10 cases du tableau */
for (i = 0 ; i < 10 ; i ++) {
cout << "Quelle valeur pour la case " << i+1 <<" ? ";
cin>>tab [i];
}
/* On affiche à présent le tableau complet */
cout << "Voici le tableau que vous avez rempli ";
for (i = 0 ; i < 10 ; i++) {
cout << tab [i] ;
}
return 0 ;
}
98
Initialisation d’un tableau
Exercice:
Ecrire un programme qui lit les notes de N élèves d'une classe
dans un devoir et les mémorise dans un tableau NOTES de
dimension N.

* Rechercher et afficher:

- la note maximale,

- la note minimale,

- la moyenne des notes.


99
Initialisation d’un tableau

int main(){
int N, i;
cout << « Donnez la dimension du tableau : ";
cin>>N ;
float Notes[N], Mini=20, Maxi=0, Somme=0;
for (i=0; i<N; i++)
{
cout << " Donnez la note de l’étudiant: " << i+1;
cin>> Notes[i];

100
Initialisation d’un tableau

if (Notes[i] < Mini) Mini= Notes[i];


if (Notes[i] > Maxi) Maxi= Notes[i];
Somme=Somme + Notes[i];
}
cout << " La note minimale est " << Mini << "La note
maximale est " << Maxi <<" la moyenne des notes est"
<< Somme/N;

101
Recherche d'une valeur dans un tableau

Exercice: Ecrire un programme qui demande à l’utilisateur


d’entrer la taille du tableau, les éléments du tableau et la
valeur de l’élément recherché. Ensuite, il vérifiera si
l’élément entré par l’utilisateur est présent dans le
tableau.

102
Recherche d'une valeur dans un tableau

int main()
{
/* Déclarations */
int VAL; /* valeur à rechercher */
int POS; /* position de la valeur */
int N; /* dimension */
int i; /* indice courant */

103
Recherche d'une valeur dans un tableau
/* Saisie des données */
cout << "Dimension du tableau (max.50) : ";
cin>>N ;
int A[N]; /* déclaration d’un tableau de taille N */
for (i=0; i<N; i++)
{
cout << " Donnez l’ élément: " << i+1;
cin>> A[i];
}
cout << " Donnez la valeur de l’élément à rechercher : ";
cin>> VAL ;
104
Recherche d'une valeur dans un tableau
/* Recherche de la position de la valeur */
POS = -1;
for (i=0 ; (i<N)&&(POS==-1) ; i++)
if (A[i]==VAL)
POS=I;
/* Edition du résultat */
if (POS==-1)
cout << "La valeur recherchée ne se trouve pas dans le tableau.";
else
cout << "La valeur " << VAL << " se trouve à la position " <<POS;
return 0;
}
105
Trier un tableau

Ecrire un programme qui permet de trier un tableau de


taille N par du plus petit élément au plus grand (ordre
croissant) en utilisant la méthode de tri par sélection.
Afficher le tableau avant et après le tri.

106
Trier un tableau

La méthode du tri par sélection consiste à


chercher le plus petit élément et le placer en
début du tableau puis recommencer avec les
éléments du tableau qui restent.

107

Vous aimerez peut-être aussi