compilador utilizado turbo c++ 4.5
problema: Ordenar numeros de mayor a menor
Primer método:
Método de la burbuja
Código: Seleccionar todo
include<conio.h>
#include<iostream.h>
#define max 100
void main()
{
int n,i, num[max],aux, cambio; //declaramos nuestas variables, cambio sera una variable de control
do{
cout<<"ingrese la cantidad a numeros a leer: ";// le pedimos al usuario cuantos numero piensa leer
cin>>n;
}while(n<1||n>50); // dentro de un rango de 1 y 15
for(i=0;i<n;i++)
{
cout<<"ingrese el valor #"<<i+1<<": "; //leemos los numeros
cin>>num[i];
}
//aplicamos el metodo de ordenamiento burbuja
do{
cambio=0;
for(i=0;i<n-1;i++)
{
if(num[i]<num[i+1])
{
cambio=1;
aux=num[i];
num[i]=num[i+1];
num[i+1]=aux;
}
}
}while(cambio==1); //mientra que el cambio sea igual a 1 el estara ordenando hasta que quede todo bien
cout<<"los numeros ordenados de mayor a menor son: "; //luego mostramos :P
for(i=0;i<n;i++)
cout<<num[i]<<" ";
}
Método de selección
Código: Seleccionar todo
#include<conio.h>
#include<iostream.h>
#define max 100
void main()
{
int n,i, num[max],aux;
do{ cout<<"INGRESE LA CANTIDAD A NUMEROS A LEER: ";
cin>>n;
}while(n<1||n>50);
for(i=0;i<n;i++)
{
cout<<"INGRESE EL VALOR #"<<i+1<<": ";
cin>>num[i];
}
//HASTA AQUI LO MISMO QUE LO ANTERIOR LO NUEVO VA DESDE AQUI HACIA ABAJO
/*2 FOR PARA QUE LOS ELEMENTO SE UBICO UNO AL LADO DEL Y UNO SOLO DE ELLOS SE MOVERA POR EL ARREGLO COMPARANDOLO CON EL PRIMERO AL LLEGAR AL ULTILMO EL CONTADOR UBICADO EN LA PRIMERA POSICION DEL ARREGLO SE MUEVE UNA CASILLA Y VUELVE HACER LA OPERACION*/
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(num[i]<num[j])
{
aux=num[i];
num[i]=num[j];
num[j]=aux;
}
}
}
cout<<"LOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: ";
for(i=0;i<n;i++)
cout<<num[i]<<" ";
}
http://www.youtube.com/watch?v=lyZQPjUT ... r_embedded