Chap 2 - Les Tableaux PDF
Chap 2 - Les Tableaux PDF
Chap 2 - Les Tableaux PDF
SMI3
Programmation I
Les tableaux
1
Supposons que nous souhaitions déterminer, à partir de vingt notes
d’élèves (fournies en données), combien d’entre elles sont supérieures
à la moyenne de la classe.
Mais, ici, il nous faut à nouveau pouvoir consulter les notes pour
déterminer combien d’entre elles sont supérieures à la moyenne ainsi
obtenue.
Tableau
2
La déclaration :
Type Non_Tableau[taille] ;
3
Les éléments de tableau:
Un élément de tableau est une lvalue. Il peut donc apparaître comme:
• affectation t[2] = 5
• opérande d’un opérateur d’incrémentation t[3]++ --t[i]
• si t1 et t2 sont des tableaux d’entiers, t1 = t2 ; n’est pas possible
5
#include <stdio.h>
main()
{ int i, nbm ;
float t[20], som, moy ;
moy = som / 20 ;
printf ("\n\n moyenne de la classe : %f\n", moy) ;
chacun des deux niveaux, les dernières valeurs peuvent être omises.
Les déclarations suivantes sont correctes (mais non équivalentes) :
9
10
Tri : éléments dans un ordre (croissant - décroissant)
11
Tri par sélection:
• À partir du 1er élément du tableau
• Rechercher le plus petit élément dans le sous
tableau à droite de T[i]
• Si i != pos_min permuter (T[i] , T[pos_min])
12
Tri par sélection:
Initial 5 9 2 6 8
Itération 1 2 9 5 6 8
Itération 2 2 5 9 6 8
Itération 3 2 5 6 9 8
Itération 4 2 5 6 8 9
13
Tri par insertion:
À partir du 2ème élément du tableau (s’il existe ! )
Pour chaque élément T[i] :
• s = T[i];
• Supposer le sous tableau à gauche de i déjà trié
• Chercher la position j où T[j-1] <= s et T[j] > s
• Faire un décalage à droite des éléments du sous
tableau à droite de j
• Insérer l’élément T[i] à la position j
14
Tri par insertion:
Initial 5 9 2 6 8
Itération 1 5 9 2 6 8
Itération 2 2 5 9 6 8
Itération 3 2 5 6 9 8
Itération 4 2 5 6 8 9
15
Tri par bulles (propagation):
Pour chaque itération :
• parcourir le tableau et comparer les couples
d'éléments successifs.
• Lorsque deux éléments successifs ne sont
pas dans l'ordre croissant, ils sont permutés.
• Lorsqu'aucun échange n'a lieu pendant un
parcours, arrêter (le tableau est trié).
16
Tri par bulles: itération 1
5 9 2 7 6
5 2 9 7 6
5 2 7 9 6
5 2 7 6 9
17
Tri par bulles: itération 2
5 2 7 6 9
2 5 7 6 9
2 5 6 7 9
18
Tri par bulles: itération 3
2 5 6 7 9
2 5 6 7 9
2 5 6 7 9
19