Ejercicio resuelto en C – Ordenar archivo de texto

Hoy vamos a resolver un ejercicio de programación en lenguaje C que trata sobre ordenar una lista de palabras contenidas en un archivo de texto. Dice algo así:

Dado un archivo con extensión txt cuyo contenido es una lista de palabras (separadas por un salto de línea) se leerá usando el lenguaje C, y después se va a imprimir esa misma lista pero con las palabras ya ordenadas de la Z a la A. Por ejemplo, si la lista es:
– Abraham
– Pedro
– Luis

El resultado en la consola será:
– Pedro
– Luis
– Abraham

Es decir, ordenado en orden descendente de la Z a la A.

Veamos cómo resolverlo.

Solución del problema

Ordenar contenido de archivo en C alfabéticamente

Lo primero que tenemos que hacer es ver la lista de palabras que será como se ve a continuación. En este caso solo son 20 palabras:

A continuación leemos el archivo de texto y lo pasamos a un arreglo. Ahora que ya lo tenemos como arreglo, ordenamos ese arreglo de forma alfabética. Finalmente imprimimos el arreglo.

Te recomiendo que leas los artículos que he mencionado anteriormente, puedes hacer clic en el enlace para leerlo antes de continuar.

Ahora veamos el código.

Abrir archivo y pasarlo a arreglo

Leemos el contenido del archivo y lo copiamos a un array para una manipulación más sencilla.

Ordenar arreglo

Ahora veamos la función que ordena un arreglo con el método de la burbuja. Es muy parecida a la que cité anteriormente, solo que la he modificado porque en este caso necesitamos un orden descendente.

Una vez definida, podemos invocarla para ordenar el arreglo:

Y así es como hacemos que una lista desordenada (traída de un archivo) esté ordenada. En otras palabras, así ordenamos el contenido de un archivo de texto, pues más tarde podemos guardar el arreglo en otro archivo de salida.

Poniendo todo junto

El código completo para que puedas probar el ejercicio queda así:

Si lo ejecutas, recuerda que la lista de palabras debe estar en el mismo directorio en donde se encuentra el ejecutable.

También puedes probarlo en línea en este enlace.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario