Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Irving007 en 12 Noviembre 2012, 04:09 am



Título: Realizar programa en C que ordene nombres desde archivo de texto.
Publicado por: Irving007 en 12 Noviembre 2012, 04:09 am
Hola, necesito hacer un programa en C que ordene algunos nombres leidos desde un archivo de texto .txt y los muestre en pantalla ordenados alfabeticamente.
Hice el programa pero leyendo los nombres desde teclado, no he conseguido ordenarlos desde el archivo de texto, ojala me ayuden, gracias.

Les dejo el programa que dice


Código:
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
    char **cadena, *aux;
    int i, j, n;
    char temp[20];

    printf("Introduzca los cinco nombres:\n");
    cadena = (char**)malloc(5*sizeof(char*));
    for (i=0; i<5; i++) {
        printf("Nombre %d: ", i+1);
        //scanf(" %[^\n]", temp);
        scanf("%s", temp);
        cadena[i] = (char*)malloc((strlen(temp)+1)*sizeof(char));
        strcpy(cadena[i], temp);
    }

    for (i=0; i<4; i++)
        for (j=i+1; j<5; j++)
           if ((strcmp(cadena[i], cadena[j])) > 0) {
               aux = cadena[i];
               cadena[i] = cadena[j];
               cadena[j] = aux;
           }

    printf("La lista ordenada es:\n");
    for (i=0; i<5 ; i++)
        printf("%s\n", cadena[i]);
    system("PAUSE");
}



Título: Re: Realizar programa en C que ordene nombres desde archivo de texto.
Publicado por: Ferno en 12 Noviembre 2012, 05:35 am
¿Leiste algo de manejo de archivos?
Te recomiendo empezar por ahí!
En "El Lenguaje de Programacion C" hay un buen apartado sobre manejo de archivos.

Si sabes manejo de archivos, la verdad es que la diferencia entre el programa final y lo que hiciste acá es ínfima!


Título: Re: Realizar programa en C que ordene nombres desde archivo de texto.
Publicado por: BlackZeroX en 12 Noviembre 2012, 06:32 am
qsort()

Dulces Lunas!¡.