Programa que ordena una lista de numeros
FP DAM 2013-2015 :: Programación :: Ejercícios :: Dev C++
Página 1 de 1.
Programa que ordena una lista de numeros
Les déjo este programa en c., en el cual he estado trabajando. Muy sencillo que ordena una serie de números de menor a mayor. Me gusta porque introduce el uso de un algoritmo de ordenamiento que aún no hemos visto. El ordenamiento de burbuja.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main(){
/* Programa que ordena de menor a mayor una lista de numeros */
//int num[8]={1,1,1,2,3,2,2,2};
int num[8];
int i,j; // variables de incremento
int desor[8]; // lista desordenada
int max; // variable maximo
// asignacion de variables
printf("Introducir numeros desordenados , y el programa\n");
printf("los ordemanara de menor a mayor\n\n");
printf("________________________________________________________________________________\n\n");
for(i=0;i<8;i++){
printf(" [%i]: ",i+1);
num[i]=getch()-48;
while((num[i]>9)||(num[i]<0)){num[i]=getch()-48;}
putch(num[i]+48);
desor[i]=num[i];
}
// cuerpo
for(j=0;j<65;j++){ // El valor de fin de ciclo sería n^2 , siendo n la cantidad de elementos a comparar
for(i=0;i<8;i++){
if (num[i]>num[i+1]) {
max=num[i];
num[i]=num[i+1];
num[i+1]=max;
}
}
}
// Salida
printf("\n\nLa lista desordenada es: ");
for(i=0;i<8;i++){
printf(" %i",desor[i]);
}
printf("\n\nLa lista ordenada es: ");
for(i=0;i<8;i++){
printf(" %i",num[i]);
}
getch();
return 0;
}
La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main(){
/* Programa que ordena de menor a mayor una lista de numeros */
//int num[8]={1,1,1,2,3,2,2,2};
int num[8];
int i,j; // variables de incremento
int desor[8]; // lista desordenada
int max; // variable maximo
// asignacion de variables
printf("Introducir numeros desordenados , y el programa\n");
printf("los ordemanara de menor a mayor\n\n");
printf("________________________________________________________________________________\n\n");
for(i=0;i<8;i++){
printf(" [%i]: ",i+1);
num[i]=getch()-48;
while((num[i]>9)||(num[i]<0)){num[i]=getch()-48;}
putch(num[i]+48);
desor[i]=num[i];
}
// cuerpo
for(j=0;j<65;j++){ // El valor de fin de ciclo sería n^2 , siendo n la cantidad de elementos a comparar
for(i=0;i<8;i++){
if (num[i]>num[i+1]) {
max=num[i];
num[i]=num[i+1];
num[i+1]=max;
}
}
}
// Salida
printf("\n\nLa lista desordenada es: ");
for(i=0;i<8;i++){
printf(" %i",desor[i]);
}
printf("\n\nLa lista ordenada es: ");
for(i=0;i<8;i++){
printf(" %i",num[i]);
}
getch();
return 0;
}
santiago padilla- Mensajes : 5
Fecha de inscripción : 28/11/2013
FP DAM 2013-2015 :: Programación :: Ejercícios :: Dev C++
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.