0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Gestion et tri de tableaux en C

Transféré par

rt465262
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Gestion et tri de tableaux en C

Transféré par

rt465262
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

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, "] = ")

Vous aimerez peut-être aussi