Académique Documents
Professionnel Documents
Culture Documents
Cours3 C-2021
Cours3 C-2021
Tableaux
Statiques
1
25/12/2021
Les tableaux
Schématiquement, un tableau est une collection d’éléments de même
type.
type
Ici, tableau à une dimension « unidimensionnel » contenant 5 éléments
V0 V1 V2 V3 V4
Les tableaux
Déclaration:
type ident [expr], …;
2
25/12/2021
Les tableaux
La borne inférieure d’un indice de tableau vaut
toujours 0
Les indices
du tableau t[0] t[1] t[2] t[3] t[4]
Les valeurs v0 v1 v2 v3 V4
du tableau
tab 1 2 3 4 5
2 4 6 0 0
3
25/12/2021
#include <iostream>
using namespace std; 2
4
int main () 6
{ 0
int tab[5] = {2, 4, 6}; 0
Appuyer une ...
for (int i=0; i<5; i++)
cout << tab[i] << "\n";
system ("pause");
return EXIT_SUCCESS;
}
4
25/12/2021
0,0
0,0 0,1
0,1 0,2
0,2
int tab [2][3];
1,0
1,0 1,1
1,1 1,2
1,2
tab
tab[0] tab[1]
&tab[0][0] &tab[1][0]
10
5
25/12/2021
tab ? ? ? ? ? ?
tab[0] tab[1]
&tab[0][0] &tab[1][0]
tab[0]
&tab[0][0] 0,0
0,0 0,1
0,1 0,2
0,2
tab[1]
&tab[1][0] 1,0
1,0 1,1
1,1 1,2
1,2
11
12
6
25/12/2021
int m = 0;
for (int i = 0; i < 3; i++ )
for (int j = 0; j < 5; j++ )
for (int k = 0; k < 7; k++ )
tab [i][j][k] = m++;
14
7
25/12/2021
int tableau[10];
Les bornes n’étant pas connues, il sera par contre nécessaire de les
transmettre
int minimum ( int vecteur [],int taille )
{
// cas du tableau vide n'est pas géré ici!
int min = vecteur [0];
return min;
}
int tab[10];
…
cout << minimum (tab, 10);
16
8
25/12/2021
18
9
25/12/2021
19
20
10
25/12/2021
21
Tableaux
Dynamiques
« vector »
11
25/12/2021
vector<int> unVecteur;
vector<int
int> unVecteur (10);
#include <vector>
La classe « vector » fait partie de ce que l’on appelle les conteneurs qui
permettent la gestion de structures dynamiques de données complexes
objet.methode (paramètres);
24
12
25/12/2021
25
26
13
25/12/2021
28
14
25/12/2021
return min;
}
29
// un vecteur d’entiers
vector<int> unVecteur (10); // un vecteur
// un vecteur de vecteurs
vector < vector<int> > tab;
Pour l’instant, « tab » ne contient aucun élément
15
25/12/2021
tab 3 4 v0 v1 v2 v3
4 v0 v1 v2 v3
31 4 v0 v1 v2 v3
Les pointeurs
32
16
25/12/2021
33
#include <cstdlib>
34
17
25/12/2021
35
36
18
25/12/2021
37
38
19
25/12/2021
*P *P+1 *P+2
(*P)+1 (*P)+2
39
Exemples:
40
20
25/12/2021
42
21
25/12/2021
43
44
22
25/12/2021
45
46
23
25/12/2021
47
48
24
25/12/2021
*(tab+1)=3
49
50
25
25/12/2021
#include <iostream>
#include <ctime>
usingspace std;
void display(long double **);
void de_allocate(long double **);
const int MAX =50;
Const int MIN =25;
int main(void)
{ double **data; int m,n; //m: Nb_Rows , n:Nb_Columns
srand(time(NULL));
cout<<"n= " ; cin>>n; cout<< " m " ; cin>>m;
data = new double*[m]; // STEP 1: SET UP THE ROWS.
for (int j = 0; j < m; j++)
data[j] = new double[n]; // STEP 2: SET UP THE COLUMNS
52
26
25/12/2021
Les chaines de
caractères
53
54
27
25/12/2021
55
56
28
25/12/2021
57
58
29
25/12/2021
59
60
30
25/12/2021
61
62
31
25/12/2021
63
64
32
25/12/2021
65
66
33
25/12/2021
67
68
34