Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Irving007

#1
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


#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");
}