C/Visual C - Problema, se me come el ultimo ?

 
Vista:

Problema, se me come el ultimo ?

Publicado por marx (1 intervención) el 07/04/2006 00:06:36
/*ordenar alfabeticamente una lista de cadenas de caracteres, utilizando una formacion bidemiensional*/

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

void reordenar(int n,char x[][12]); /* prototipo de funcion */
main()
{

int i,n=0;
char x[10][12];
printf("Introducir debajo cada cadena en una linia\n\n");
printf("Escribir \'FIN\' para terminar\n\n");

/* leer la lista de cadenas de caracteres */
do{
printf("cadena %d: ",n+1);
scanf("%s",x[n]);
}while (strcmp(x[n++], "FIN"));

/*ajustar el valor de n */

n--;
/* reordenar la lista de cadenas de caracteres */
reordenar(n,x);
/* escribir la lista reordenada de cadenas de caracteres */
printf("\n\nLista reordenada de cadenas:\n");
for(i=0;i<n;++i)
printf("\ncadena %d: %s",i+1,x[i]);

}

void reordenar(int n,char x[][12]) /* reordenar la lista de cadenas de caracteres */
{
char temp[12];
int i,elem;

for(elem=0;elem<n-1;++elem)
/*encontrar la menor de las cadenas restantes */
for(i=elem+1;i<n;++i)
if(strcmp(x[elem],x[i])>0); {
/* intercambiar las dos cadenas */
strcpy(temp,x[elem]);
strcpy(x[elem],x[i]);
strcpy(x[i],temp);
}
return;

}


Se me come un espacio sin pongo 4 palabras al final pone el FIN en la posicion 4.
Es algun for? pq segun el libro es asi?
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