Début (algorithme) temp ← T[j]
// 1. Lire la taille du tableau T[j] ← T[j+1]
Écrire ("Entrer la taille du tableau : ") T[j+1] ← temp
Lire n FinSi
// 2. Lire les éléments du tableau FinPour
Pour i de 0 à n-1 faire FinPour
Écrire ("Entrer l'élément ", i, " : ") // Afficher le tableau trié
Lire T[i] Écrire ("Tableau trié en ordre décroissant : ")
Fin Pour Pour i de 0 à n-1 faire
// 3. Afficher le tableau Écrire(T[i], " ")
Écrire ("Le tableau est : ") FinPour
Pour i de 0 à n-1 faire Fin
Écrire(T[i], " ") Exemples
Fin Pour Début
// 4. Lire un indice et retourner la valeur équivalente Pour i de 0 à 4 faire
Écrire ("Entrer un indice (entre 0 et ", n-1, ") : ") Écrire("Entrer la note ", i+1, " : ")
Lire indice Lire notes[i]
somme ← somme + notes[i]
Si indice >= 0 et indice < n alors
FinPour
Écrire ("La valeur à l'indice ", indice, " est : ",
T[indice]) moyenne ← somme / 5
Sinon Écrire("Moyenne = ", moyenne)
Écrire ("Indice invalide") Si moyenne ≥ 10 alors Écrire("Admis")
Finsi Sinon Écrire("Ajourné") FinSi
Fin
// 5. Calculer la somme des éléments du tableau
Somme ← 0
Pour i de 0 à n-1 faire
Somme ← somme + T[i]
FinPour
Écrire ("La somme des éléments est : ", somme)
// 6. Trier le tableau en ordre décroissant (tri à bulles)
Pour i de 0 à n-2 faire
Pour j de 0 à n-2-i faire
Si T[j] < T[j+1] alors
// Échange des éléments
for (int j = 0; j < n - 1 - i; j++) {
#include <stdio.h> if (T[j] < T[j + 1]) {
int main() { temp = T[j];
int n, i, indice, somme = 0, temp; T[j] = T[j + 1];
// 1. Lire la taille du tableau T[j + 1] = temp;
printf("Entrer la taille du tableau : "); }
scanf("%d", &n); }
int T[n]; // Déclaration du tableau avec taille }
dynamique (possible avec GCC)
// Afficher le tableau trié
// 2. Lire les éléments du tableau
printf("Tableau trié en ordre décroissant : ");
for (i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
printf("Entrer l'élément %d : ", i);
printf("%d ", T[i]);
scanf("%d", &T[i]); }
}
// 3. Afficher le tableau
printf("\n");
printf("Le tableau est : ");
return 0;}
for (i = 0; i < n; i++)
ex 2
{ printf("%d ", T[i]); }
// Exemple de tableau
printf("\n");
Écrire("Saisir 5 éléments dans le tableau")
// 4. Lire un indice et retourner la valeur
Pour i de 0 à 4 faire
printf("Entrer un indice (entre 0 et %d) : ", n -
1); Lire T[i]
scanf("%d", &indice); FinPour
if (indice >= 0 && indice < n) { // Affichage des éléments
printf("La valeur à l'indice %d est : %d\n", Pour i de 0 à 4 faire
indice, T[indice]); } Écrire("T[", i, "] = ", T[i])
else { printf("Indice invalide\n"); } FinPour
// 5. Calculer la somme des éléments du tableau
for (i = 0; i < n; i++) {
somme += T[i]; }
printf("La somme des éléments est : %d\n",
somme);
// 6. Trier le tableau en ordre décroissant (tri à
bulles)
for (i = 0; i < n - 1; i++) {
Tri à bulles
Compare chaque élément avec le suivant et les // Tri à bulles croissant
échange si nécessaire, jusqu’à ce que le tableau
Pour i de 0 à n-2 faire
soit trié.
Pour j de 0 à n-2-i faire
#include <stdio.h>
Si T[j] > T[j+1] alors
void bubbleSort(int T[], int n) {
temp ← T[j]
for (int i = 0; i < n - 1; i++) {
T[j] ← T[j+1]
for (int j = 0; j < n - 1 - i; j++) {
T[j+1] ← temp
if (T[j] > T[j + 1]) {
FinSi
int temp = T[j];
FinPour
T[j] = T[j + 1];
FinPour
T[j + 1] = temp;
Écrire("Tableau trié : ")
} }}}
Pour i de 0 à n-1 faire
int main() {
Écrire(T[i])
int T[] = {5, 2, 9, 1, 6};
FinPour
int n = 5;
Fin
bubbleSort(T, n);
printf("Tri à bulles : ");
for (int i = 0; i < n; i++) {
printf("%d ", T[i]); }
return 0;}
Algorithme Tri Bulles
Variables
T : tableau d'entiers
n, i, j, temp : entiers
Début
Écrire("Entrer la taille du tableau : ")
Lire n
Pour i de 0 à n-1 faire
Écrire("T[", i, "] = ")
Lire T[i]
FinPour
Tri par insertion // Tri par insertion croissant
Chaque nouvel élément est inséré à la bonne Pour i de 1 à n-1 faire
position dans la partie déjà triée du tableau.
valeur ← T[i]
#include <stdio.h>
j←i-1
void insertionSort(int T[], int n) {
Tant que j >= 0 et T[j] > valeur faire
for (int i = 1; i < n; i++) {
T[j + 1] ← T[j]
int key = T[i];
j←j-1
int j = i - 1;
FinTantQue
while (j >= 0 && T[j] > key) {
T[j + 1] ← valeur
T[j + 1] = T[j];
FinPour
j--; }
T[j + 1] = key; }}
Écrire("Tableau trié : ")
int main() {
Pour i de 0 à n-1 faire
int T[] = {5, 2, 9, 1, 6};
Écrire(T[i])
int n = 5;
FinPour
insertionSort(T, n);
Fin
printf("Tri par insertion : ");
for (int i = 0; i < n; i++) {
printf("%d ", T[i]); }
return 0; }
Algorithme Tri Insertion
Variables
T : tableau d'entiers
n, i, j, valeur : entiers
Début
Écrire("Entrer la taille du tableau : ")
Lire n
Pour i de 0 à n-1 faire
Écrire("T[", i, "] = ")
Lire T[i]
FinPour
Tri par sélection Lire T[i]
Trouve le plus petit élément dans le reste du FinPour
tableau et l’échange avec la position actuelle.
// Tri par sélection croissant
#include <stdio.h>
Pour i de 0 à n-2 faire
min ← i
void selectionSort(int T[], int n) {
Pour j de i+1 à n-1 faire
for (int i = 0; i < n - 1; i++) {
Si T[j] < T[min] alors
int minIndex = i;
min ← j
for (int j = i + 1; j < n; j++) {
FinSi
if (T[j] < T[minIndex]) {
FinPour
minIndex = j; } }
// Échanger T[i] et T[min]
// Échange
temp ← T[i]
int temp = T[i];
T[i] ← T[min]
T[i] = T[minIndex];
T[min] ← temp
T[minIndex] = temp;}}
FinPour
int main() {
Écrire("Tableau trié : ")
int T[] = {5, 2, 9, 1, 6};
Pour i de 0 à n-1 faire
int n = 5;
Écrire(T[i])
selectionSort(T, n);
FinPour
printf("Tri par sélection : ");
Fin
for (int i = 0; i < n; i++) {
printf("%d ", T[i]); }
return 0;}
Algorithme Tri Selection
Variables
T : tableau d'entiers
n, i, j, min, temp : entiers
Début
Écrire ("Entrer la taille du tableau : ")
Lire n
Pour i de 0 à n-1 faire
Écrire("T[", i, "] = ")