C/Visual C - Ordenamiento de listas por alfabeto II

 
Vista:

Ordenamiento de listas por alfabeto II

Publicado por Luis Alejandro (4 intervenciones) el 16/04/2001 00:21:58
Este es un programa, hecho por German pero no puedo hacer que el usuario introduzca los nombres, y que despues muestre la lista ya ordenada.

Lo e intentado todo. Agradecería me ayudaran.

#include<stdio.h>
#include<string.h>
#include<conio.h>
main()
{
char *Apellidos[21]={
"ALVAREZ", "GENARO", "BUSTAMANTE", .......(hAsta introducir los 20 nombres)
char *Aux;
int i, j;
for (i=0; i<20; i++)
for (j=i+1;j<=20; j++){
if (strcmp(Apellidos[i], Apellidos[j])>0)
{
Aux=Apellidos[j];
Apellidos[j]=Apellidos[i];
Apellidos[i]=Aux;
}
}
clrscr();
for (i=0; i<20; i++)
printf("%s\n", Apellidos[i]);
getche();
}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ordenamiento de listas por alfabeto II

Publicado por Germán B. (143 intervenciones) el 16/04/2001 01:59:01
Acá está. Aclaración: strdup() solicita memoria en forma dinámica, no le puse el control de que haya memoria disponible. En este caso va a haber seguro, pero es buena costumbre poner el control siempre. Usé strdup() porque la base del programa ya usaba un array de punteros, igual se podría implementar con un array bidimensional de char.
G

#include <string.h>
#include <stdio.h>

char *NuevoNombre(int i) {
static char buffer[81];

printf("Apellido %d: ",i);
gets(buffer);
return strdup(buffer);
}

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

for(i=0;i<20;i++)
Apellidos[i]=NuevoNombre(i+1);

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

for(i=0;i<20;i++)
printf("%s\n",Apellidos[i]);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenamiento de listas por alfabeto II

Publicado por Luis Alejandro (2 intervenciones) el 22/04/2001 02:07:31
Gracias, ya entendi el uso de strdup y de strcmp.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar