Introducción
En este proyecto, aprenderás a organizar una lista de cursos de programación utilizando el algoritmo de ordenamiento burbuja. Los cursos se ordenarán en orden lexicográfico, lo que te permitirá ver y resumir fácilmente los lenguajes de programación que has aprendido.
👀 Vista previa
$ gcc courses.c -o courses
$./courses
ASP
ASP.NET
BASIC
C
C#
C++
COBOL
JAVA
PASCAL
PHP
🎯 Tareas
En este proyecto, aprenderás:
- Cómo calcular correctamente la longitud de un array
- Cómo modificar el tipo de parámetro de una función de ordenamiento
- Cómo corregir la lógica de comparación y conmutación en el algoritmo de ordenamiento
🏆 Logros
Después de completar este proyecto, podrás:
- Organizar una lista de cursos de programación utilizando el algoritmo de ordenamiento burbuja
- Comprender la importancia del cálculo correcto de la longitud del array y los tipos de parámetros de función
- Aplicar la lógica correcta de comparación y conmutación en un algoritmo de ordenamiento
- Demostrar tu capacidad para seguir instrucciones paso a paso y modificar el código existente para alcanzar el resultado deseado
Corregir el cálculo de la longitud del arreglo
En este paso, aprenderás a calcular correctamente la longitud del array courses.
Abra el archivo
courses.cubicado en el directorio/home/labex/project/.Encuentre la siguiente línea de código:
int n = strlen(courses);Esta línea utiliza la función
strlenpara calcular la longitud del arraycourses, lo cual es incorrecto. La funciónstrlense utiliza para calcular la longitud de una cadena de texto, no de un array.Reemplace la línea anterior con la siguiente:
int n = sizeof(courses) / sizeof(courses[0]);Esta línea utiliza el operador
sizeofpara calcular el tamaño total del arraycourses, y luego lo divide por el tamaño de un solo elemento para obtener el número de elementos en el array.
Cambiar el tipo de parámetro de la función de clasificación
En este paso, aprenderás a cambiar el tipo de parámetro de la función sort.
En el archivo
courses.c, encuentre la definición de la funciónsort:void sort(char p[], int n)Cambie el tipo de parámetro de
char p[]achar *p[]. La definición actualizada de la función debería verse así:void sort(char *p[], int n)Este cambio es necesario porque estamos trabajando con un array de cadenas (un array de punteros), no una sola cadena.
Corregir la lógica de comparación y conmutación
En este paso, aprenderás a corregir la lógica de comparación y conmutación en la función sort.
En la función
sort, encuentre el siguiente código:if (k!= j) { tmp = p[k]; p[k] = p[i]; p[i] = tmp; }Reemplace la condición
if (k!= j)conif (k!= i). El código actualizado debería verse así:if (k!= i) { tmp = p[k]; p[k] = p[i]; p[i] = tmp; }Este cambio es necesario para comprobar si se ha encontrado el elemento más pequeño en la iteración actual (indexado por
i).
Después de completar estos tres pasos, tu archivo courses.c debería estar listo para la compilación y la ejecución. Ahora puedes pasar al siguiente paso.
En la función
sort, complete la sección// TODO:de la siguiente manera:{ if (strcmp(p[j], p[k]) < 0) { k = j; } }Ejecute el siguiente comando:
gcc courses.c -o courses
./courses
- Verifique que el programa produzca la salida esperada.
ASP
ASP.NET
BASIC
C
C#
C++
COBOL
JAVA
PASCAL
PHP
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



