martes, 9 de noviembre de 2010

Metodos de ordenamiento (BURBUJA)

METODO DE LA BURBUJA


El Ordenamiento 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.

PROGRAMA QUE CAPTURA 5 NOMBRES Y CALCULA EL PROMEDIO DE 3 CALIFICACIONES Y LOS ORDENA POR NOMBRE DE MANERA ASCENDENTE Y DESCNDENTE.


#include<conio.h>
#include<iostream.h>
#include<string.h>

void main()
{
clrscr();
char nombre[5][10];
int cal[5][3];
int suma;
float prom[5];
int i,j,k;
int aux;
char nombreaux[10];

   for(i=0;i<5;i++){
      suma=0;
     cout<<"Introduze el nombre:"<<endl;
       cin>>nombre[i];
   
   for(j=0;j<3;j++){
    
         cout<<"calificacion"<<endl;
              cin>>cal[i][j];
       
       suma=suma+cal[i][j];
       }
       prom[i]=suma/3;
}
for(i=0;i<4;i++){
      for(j=0;j<4;j++){
if(prom[j]>prom[j+1])
{
aux=prom[j];
prom[j]=prom[j+1];
prom[j+1]=aux;
strcpy(nombreaux,nombre[j]);//ordenamiento por metodo de la burbuja
strcpy(nombre[j],nombre[j+1]);
strcpy(nombre[j+1],nombreaux);
}
}
}
cout <<"Los promedios ordenados de manera ascendente son: \n"<<endl;
  for(i=0;i<5;i++){
    cout<<nombre[i]<<" : "<<prom[i]<<endl;
}
cout << "Las promedios ordenados de manera descendente son: \n"<<endl;
  for(i=4;i>=0;i--){
    cout<<nombre[i]<<" : "<<prom[i]<<endl;
}
getch();
}



No hay comentarios:

Publicar un comentario