FAC. MI DEP.
INFORMATIQUE ASDS Fiche TD et TP 7 INGENIEUR1
TD et TP N° 7
Exercice N° 01 TD:
1) Donner une fonction C, de complexité optimale, qui prend en paramètre un tableau trié t et
un élément e et qui renvoie -1 si l’élément e n’existe pas dans le tableau ou qui renvoie la
position de sa première occurrence si il existe.
2) donnez le programme appelant
Exercice N° 02 TD:
Soit à écrire la procédure C qui permet de fusionner deux tableaux triés en un tableau
trié. Exemple de la fusion de deux tableaux a et B donnant C :
A [1 , 1 , 10 , 23] B [6 , 7 , 14 ,20 , 36]
C [ 1 ,1 ,6 , 7 ,10, 14 ,20 ,23 , 36]
Exercice N° 03 TD:
Soit b dans tri_bulle
Void tri_bulle(int T[],int N)
{ int i,j; int b=1;
for(i=N-1 ; i > 0&&b==1;i--)
{b=0; for(j=0; j < i ; j++)
if ( T[j] > T[j+1] ) { permuter(&T[j],&T[j+1]) ; b=1 ;
}
}
}
A quoi sert b.
Exercice N° 04 TP :
Le tri à bulles est un algorithme de tri qui consiste à faire remonter progressivement les
plus grands éléments d’un tableau (comme des bulles d’air qui remontent à la surface d’un
verre de l’eau gazeuse) rappel :
Écrire le programme C et une procédure tribulles(t,n) qui implémente le tri à bulles en
introduisant les instructions qui affichent les valeurs du tableau de chaque étape de la
remontée d’une bulle comme dans l’exemple suivant.
Exemple :
Soit à trier le tableau suivant : [6 , 7 , 1 , 0 , 3]
Affichage :
Bulle 1 : [6 , 1 , 7 , 0 , 3] [6 , 1 , 0 , 7 , 3] [6 , 1 , 0 , 3 , 7]
Bulle 2 : [1 , 6 , 0 , 3 , 7] [1 , 0 , 6 , 3 , 7] [1 , 0 , 3 , 6 , 7]
Bulle 2 : [0 , 1 , 3 , 6 , 7] .
Exercice N° 05 TD et TP exercice supplémentaire:
Ecrire le programme C qui permet de lire un tableau de le trier par le tri sélection et puis de
supprimer toutes les valeurs redondantes (les valeurs qui se répètent comme dans
l’exemple)
[1 ,1 ,6 , 7 ,10, 10 ,20 ,20 , 36] => [ 1 , 6 , 7 ,10, 20, 36]