Académique Documents
Professionnel Documents
Culture Documents
Une variable, de type int par exemple, ne peut contenir qu'une seule
valeur. Si on veut stocker en mémoire un ensemble de valeurs, il faut
utiliser des tableaux.
Un tableau est
Une structure de données,
permettant de sauvegarder simultanément plusieurs valeurs de même
type,
chaque élément a un indice (ou une position).
2
Introduction
3
Tableaux statiques
Déclaration d’un tableau statique
type nomTableau [Taille];
4
Tableaux statiques
Exemples
5
Tableaux statiques
Accès au tableau
Pour accéder à une case ou un élément du tableau on utilise la syntaxe
nomTableau[indiceCase]
Rappel : La première case possède l’indice 0 et pas 1.
Tout est en quelque sorte décalé de 1.
Exemples
int tab[3]; // tableau tab de trois entiers
Si le nombre de valeur entre accolades est nul, alors tous les éléments
du tableau s’initialisent à zéro.
Exemple
int TAB[5] {};
Ou bien
int TAB[5] {0}; 8
Tableaux statiques
Initialisation d’un tableau
TAB 3 7 2 1 6 TAB 3 7 2 1 6
TAB 0 0 0 0 0 9
Tableaux statiques
Parcours d’un tableau et manipulation d’éléments
10
Tableaux statiques
Parcours d’un tableau et manipulation d’éléments
Exemple
#include <iostream>
using namespace std;
int main()
{
int tableau[10]; //déclaration d’un tableau de 10 éléments entiers
for (int i=0; i<10; i++ )
{ tableau[i]=i*i;
cout<<"La case ["<<i<<"] contient la valeur
"<<tableau[i]<<endl; }
return 0;}
11
Tableaux statiques
Parcours d’un tableau et manipulation d’éléments
Résultat
12
Tableaux statiques
Parcours d’un tableau et manipulation d’éléments
On peut aussi utiliser une boucle pour initialiser les éléments d’un
tableau à un même élément.
Exemple
#include <iostream>
using namespace std;
int main()
{
int Tab[5];
int Indice;
for (Indice = 0; Indice < =4; Indice++) {
Tab[Indice] = 0; }
return 0;
}
13
Tableaux statiques
Quiz
Qu’affiche le programme suivant en sortie ?
14
Tableaux statiques
Quiz
Qu’affiche le programme suivant en sortie ?
Résultat
Quiz
Qu’affiche le programme suivant en sortie ?
Résultat
Exercice
17
Tableaux statiques
Solution
1- Saisie des éléments du tableaux
18
Tableaux statiques
Solution
2- On suppose le premier élément du tableau comme maximum et
comme minimum
19
Tableaux statiques
Solution
3- On parcourt le tableau à la recherche d’un éventuel nouveau
maximum et nouveau minimum
20
Tableaux statiques
Solution
4-Affichage des valeurs du maximum et du minimum
21
Tableaux statiques
Résultat
22
Tableaux statiques
Tableaux et fonctions
23
Tableaux statiques
Tableaux et fonctions
Exercice 1
24
Tableaux statiques
Tableaux multidimensionnels
En C++ on peut créer des tableaux de
d’entiers,
de réels,
de caractères,
de tableaux : On parle alors de tableaux multidimensionnels
25
Tableaux statiques
Tableaux multidimensionnels
Exemple :
Le tableau à deux dimensions contenant 3 tableaux contenant chacun 4
entiers.
T[0][0] T[0][1] T[0][2] T[0][3]
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]
26
Tableaux statiques
Tableaux multidimensionnels
En C++, on définit un tableau multidimensionnel en indiquant les
dimensions les unes après les autres entre crochets :
Ou bien:
const int M=3 ;
const int N=4;
27
int T [M][N]; // T comprend au total M*N=12 entiers
Tableaux statiques
Tableaux multidimensionnels : Initialisation
28
Tableaux statiques
Tableaux multidimensionnels : Initialisation
Reprenons l’exemple d’un tableau de trois éléments (tableaux)
contenant chacun quatre entiers.
Initialisation lors de la déclaration
On peut initialiser les éléments du tableau lors de la
déclaration comme suit :
int T [3][4] {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
29
Tableaux statiques
Tableaux multidimensionnels : Initialisation
Reprenons l’exemple d’un tableau de trois éléments (tableaux)
contenant chacun quatre entiers.
Initialisation lors de la déclaration
On peut initialiser les éléments du tableau lors de la
déclaration comme suit :
int T [3][4] {{1,1,1,1},{1,1,1,1},{1,1,1,1}};
Initialisation individuelles
30
Tableaux statiques
Tableaux multidimensionnels : Initialisation
Initialisation par boucle
On peut initialiser les éléments du tableau à une valeur (1par
exemple) à l’aide d’une boucle
int T [3][4]
int i,j;
for (i=0; i<3; i++){
for (j=0; j<4; j++){
T [i][j] = 1;
}
}
31
Tableaux statiques
Tableaux multidimensionnels
double a[5][10][8];
On crée un tableau à 3 dimensions contenant au total 5 ∗ 10 ∗ 8 = 400
éléments réels.
32
Tableaux statiques
Tableaux multidimensionnels : Exercice
33
Tableaux statiques
Chaîne de caractères
En C++, une chaîne de caractères est considérée comme un tableau de
caractères dont le dernier élément est le caractère '\0‘ marquant la fin
de la chaîne.
Quand on travaille sur un tableau, on a le choix d’utiliser un indice ou
bien travailler avec un pointeur. .
Exemple : Un tableau de chaîne de caractères peut être initialisé
comme suit :
char msg[] = "Bonjour" ; // première façon
Ou bien
char msg[] = {'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0'} ;// deuxième façon ;
34
Tableaux statiques
Notez bien !
Il ne faut pas confondre les éléments d’un tableau avec le tableau lui-
même.
Ainsi, t[2] = 3, tab[i]++ sont des écritures valides.
Mais t1 = t2, si t1 et t2 sont des tableaux, n’est pas possible.
Il n’existe pas en C++ de mécanisme d’affectation globale pour les
tableaux.
35
Tableaux statiques
Notez bien !
36