metodo de la burbuja

mirinda
28 de Junio del 2004
necesito que me ayudes ha hacer un programa por medio del metodo de la burbuja.}
introduciendo tres arreglos y que me los ordene en forma asendente y descendente.

gracias.


juan esteban ospina
28 de Junio del 2004
Hola, saludos.
Mira que puedes sacar en provecho de este código.
Suerte.

#include<conio.h>
#include<iostream.h>
void main()
{
int n,v[20],columna=3;/*n--->para el número de elementos a entrar en el vector, v[20]--->declaración del vector de 20 posiciones, o sea que n
no debe ser mayor a 20., columna=3--->para especificar posición de
aparición de elemento*/
clrscr();/*borra pantalla*/
int i,j,aux;/*variables: "i" y "j" son para los índices. la "i" es solo para
leer y mostrar los elementos del vector. la "i" y la "j" se necesitan para
controlar los índices en el ordenamiento de la burbuja, la "i" es para el
n£mero de comparaciones que se tienen que hacer (siempre es n-1) y la "j"
para las comparaciones internas (para identificar si el elemento uno es
mayor a el elemento 2) si esto es cierto el uno pasa a una variable aux
el dos pasa para donde estaba el uno, y lo que se paso a la variable aux
pasa a donde estaba el dos-----> así mas o menos es el procedimiento
aux=1;
1=2;
2=aux;
estas asignaciones se hacen n-1 veces.*/
gotoxy(1,1);/*para especificar la posición en que se quiere que salga el
mensaje de "ingrese la cantid.........."*/
cout<<"Ingrese la cantidad de n£meros a introducir en el vector, ";
cout<<endl<<"(No mayor a 18)----->";
cin>>n;/*lee n. (n£mero de elementos a entrar)*/
for(i=0;i<n;i++)/*la variable i es un índice de posición de memoria de v[]
y aumenta de a uno (i++)en ves de i++ se puede i=i+1.*/
{
gotoxy(columna+i,11);/*para que el cursor se sitúe en la posición a recibir
el elemento del vector*/
cin>>v[i];
columna+=3;/*en ves de esta línea se puede también--> columna=columna+3;*/
}
/*las líneas anteriores fueron para ingresar el numero de elementos a leer
en el vector, y para ingresar los valores al vector.*/
clrscr();/*borra pantalla.*/
gotoxy(3,5);/*Para posicionar mensaje, sino se suprime el gotoxy, el mensaje
saldrá en la posición (0,0) o sea que la primera letra del mensaje saldrá en la esquina superior izquierda.*/
cout<<"Este es el vector leído.";
for(i=0;i<n;i++)
{
gotoxy(columna+i,11); //Estas líneas muestran el vector leído.
cout<<v[i];
columna+=3;
}
getch(); //Para detener progreso de ejecución.
//ESTE ES EL METODO DE LA BURBUJA.
for(i=0;i<n-1;i++)/*Número de comparaciones que deben hacerse (n-1)*/
{
for(j=0;j<n-1;j++)/*Comparaciones internas.*/
{
if(v[j]>v[j+1])/*Identifica si el elemento de la posición [j] es mayor que
el elemento en la posición [j+1]*/
{
aux=v[j];
v[j]=v[j+1];
v[j+1]=aux;
}
}
}
//LAS LINEAS SIGUIENTES MUESTRAN EL VECTOR ORDENADO.
clrscr();
gotoxy(3,5);
cout<<"Este es el vector ordenado.";
for(i=0;i<n;i++)
{
gotoxy(columna+i,11);
cout<<v[i];
columna+=3;
}
getch();
}