Introduction
Dans ce projet, vous allez apprendre à organiser une liste de cours de programmation à l'aide de l'algorithme de tri à bulles. Les cours seront triés dans l'ordre alphabétique, vous permettant de voir facilement et de résumer les langages de programmation que vous avez appris.
👀 Aperçu
$ gcc courses.c -o courses
$./courses
ASP
ASP.NET
BASIC
C
C#
C++
COBOL
JAVA
PASCAL
PHP
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment calculer correctement la longueur d'un tableau
- Comment modifier le type de paramètre d'une fonction de tri
- Comment corriger la logique de comparaison et d'échange dans l'algorithme de tri
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Organiser une liste de cours de programmation à l'aide de l'algorithme de tri à bulles
- Comprendre l'importance du calcul correct de la longueur du tableau et des types de paramètres de fonction
- Appliquer la logique de comparaison et d'échange correcte dans un algorithme de tri
- Montrer votre capacité à suivre des instructions étape par étape et à modifier le code existant pour obtenir le résultat souhaité
Corrigez le calcul de la longueur du tableau
Dans cette étape, vous allez apprendre à calculer correctement la longueur du tableau courses.
Ouvrez le fichier
courses.csitué dans le répertoire/home/labex/project/.Trouvez la ligne de code suivante :
int n = strlen(courses);Cette ligne utilise la fonction
strlenpour calculer la longueur du tableaucourses, ce qui est incorrect. La fonctionstrlenest utilisée pour calculer la longueur d'une chaîne de caractères, pas d'un tableau.Remplacez la ligne ci-dessus par la suivante :
int n = sizeof(courses) / sizeof(courses[0]);Cette ligne utilise l'opérateur
sizeofpour calculer la taille totale du tableaucourses, puis la divise par la taille d'un seul élément pour obtenir le nombre d'éléments dans le tableau.
Changez le type de paramètre de la fonction de tri
Dans cette étape, vous allez apprendre à changer le type de paramètre de la fonction sort.
Dans le fichier
courses.c, trouvez la définition de la fonctionsort:void sort(char p[], int n)Changez le type de paramètre de
char p[]àchar *p[]. La définition de la fonction mise à jour devrait ressembler à ceci :void sort(char *p[], int n)Ce changement est nécessaire car nous traitons un tableau de chaînes de caractères (un tableau de pointeurs), pas une seule chaîne.
Corrigez la logique de comparaison et d'échange
Dans cette étape, vous allez apprendre à corriger la logique de comparaison et d'échange dans la fonction sort.
Dans la fonction
sort, trouvez le code suivant :if (k!= j) { tmp = p[k]; p[k] = p[i]; p[i] = tmp; }Remplacez la condition
if (k!= j)parif (k!= i). Le code mis à jour devrait ressembler à ceci :if (k!= i) { tmp = p[k]; p[k] = p[i]; p[i] = tmp; }Ce changement est nécessaire pour vérifier si l'élément le plus petit a été trouvé dans l'itération actuelle (indexé par
i).
Après avoir effectué ces trois étapes, votre fichier courses.c devrait être prêt pour la compilation et l'exécution. Vous pouvez maintenant passer à l'étape suivante.
Dans la fonction
sort, complétez la section// TODO:comme suit :{ if (strcmp(p[j], p[k]) < 0) { k = j; } }Exécutez la commande suivante :
gcc courses.c -o courses
./courses
- Vérifiez que le programme produit la sortie attendue.
ASP
ASP.NET
BASIC
C
C#
C++
COBOL
JAVA
PASCAL
PHP
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



