Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ordenamiento de cadenas mediante el metodo de la burbuja

batiguason_11

Bovino adicto
Desde
27 Jun 2009
Mensajes
703
Tengo que leer 5 cadenas dadas por el usuario y entonces ordenarlas usando el metodo de la burbuja es problema esque no se como hacerlo :S veran este es mi codigo

#include<stdio.h>
#include<string.h>
char cad[4][80],aux[80];
int i,j,n;
main() {
for (i=0;i<4;i++) {
printf("\ndame tu cadena %i ",i+1);
scanf("%s",cad);
}
for (j=0;j<4;j++)
for(i=1;i<4;i++) {
if (strcmp(cad,cad[i+1])>0); {
strcpy(aux,cad);
strcpy(cad,cad[i+1]);
strcpy(cad[i+1],aux);
}
}
for (i=0;i<4;i++)
printf("\n %i - %s",i+1,cad);
return 0;
}

Pero simplemente no me corre por lo que se esta bien podrian sacarme de esta duda que luego del examén se me quedo la espina clavada de no haber podido resolverlo ayudenme porfa desde ya grax :D
 
Pues probe tu codigo y por lo menos si me compila, lo que no entiendo es en base a que se tienen que ordenar, alfabeticamente o por su valor numerico o que onda?
 
Chécale bien, en los for's del método de la burbuja nunca estás usando la variable j. En el método de la burbuja, tomas un elemento inicial i, y a partir de ese, todos los elementos restantes desde i+1 se empiezan a compara con ese elemento. Por tanto, de buenas a primeras, quedaría así:

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

Chécale y suerte.
 
Volver
Arriba