Dev - C++ - Ciclo burbuja

 
Vista:
sin imagen de perfil

Ciclo burbuja

Publicado por Zamira (3 intervenciones) el 25/05/2018 01:50:40
Hice un programa que te permite ingresar 10 numeros y decides si ordenarlos de manera ascendente o descendente, pero el orden ascendente no funciona bien ¿Qúe está mal?


#include <stdio.h>
int main(){

//Declaración de variables
int array [10], array_ordenado[10];
int i, aux, j, opcion;

do{
//Mostrar menú
system ("CLS");
printf ("\n %c*-*-*-*-*-*-*-*%c\n",218,191);
printf (" BURBUJA \n");
printf (" %c*-*-*-*-*-*-*-*%c\n\n",192,217);
printf ("-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/\n");
printf ("\n> 1 - Introducir datos");
printf ("\n> 2 - Mostrar en orden ascendente");
printf ("\n> 3 - Mostrar en orden descendente");
printf ("\n> 4 - Salir\n");
printf ("\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/\n");
printf ("\nIntroduce una opcion: ");
scanf ("%d",&opcion);

switch (opcion){
case 1:
system ("CLS");
for (i=0; i<10; i++){
printf ("\nIntroduce el numero %d: ",i+1);
scanf ("%d",&array[i]);
array_ordenado[i] = array[i];
}
printf ("\nPresione Enter para continuar...");
getch ();
break;
case 2:
system ("CLS");
printf (" ORDEN ASCENDENTE\n");
for (i=0;i<10;i++){
for (j=0;j<10-i;j++){
if (array_ordenado[j] > array_ordenado[j+1]){

aux = array_ordenado[j];
array_ordenado [j] = array_ordenado [j+1];
array_ordenado[j+1] = aux;
}
}
}

for(i=0;i<10;i++){
printf ("\n%d", array_ordenado[i]);
}
printf ("\n\nPresione Enter para continuar...");
getch();
break;
case 3:
system ("CLS");
printf (" ORDEN DESCENDENTE\n");
for (i=0;i<10;i++){
for (j=0;j<10-i;j++){
if (array_ordenado[j] < array_ordenado[j+1]){

aux = array_ordenado[j];
array_ordenado [j] = array_ordenado [j+1];
array_ordenado[j+1] = aux;
}
}
}

for(i=0;i<10;i++){
printf ("\n%d", array_ordenado[i]);
}
printf ("\n\nPresione Enter para continuar...");
getch();
break;
case 4:
printf ("\n\nPresione Enter para salir...");
getch();
break;
default:
printf ("\n\nOpcion Invalida...");
getch();
}

}while(opcion!=4);


//Retornamos 0 si no hay errores
return 0;
}
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