martes, 9 de noviembre de 2010

Metodos de ordenamiento (SELECCION)

METODO DE SELECCION


El ordenamiento por selección (Selection Sort en inglés) es un algoritmo de ordenamiento que requiere O(n2) operaciones para ordenar una lista de n elementos.
Su funcionamiento es el siguiente:
    * Buscar el mínimo elemento de la lista
    * Intercambiarlo con el primero
    * Buscar el mínimo en el resto de la lista
    * Intercambiarlo con el segundo
Y en general:
    * Buscar el mínimo elemento entre una posición i y el final de la lista
    * Intercambiar el mínimo con el elemento de la posición i

PROGRAMA QUE ORDENA 5 NOMBRES Y EL PROMEDIO DE 3 CALIFICACIONES CON EL METODO DE SELECCION DE MANERA ASCENDENTE Y DESCENDENTE


#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;
int aux,menor;
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<5-1;i++)
{
  for(j=i+1,menor=i;j<5;j++)//metodo de seleccion
   if(prom[j]<prom[menor]) {
    menor=j;
     aux=prom[i];
     prom[i]=prom[menor];
     prom[menor]=aux;
     strcpy(nombreaux,nombre[i]);
     strcpy(nombre[i],nombre[menor]);
     strcpy(nombre[menor],nombreaux);

}
}

clrscr();
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