• Viernes 8 de Noviembre de 2024, 14:02

Autor Tema:  Método De La Burbuja  (Leído 1445 veces)

elpollo12

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Método De La Burbuja
« en: Lunes 23 de Julio de 2007, 00:36 »
0
Amigos, tengo una duda en cuanto al método de la burbuja. Este es mi código:

//Programa que calcule el  rea de tres rectangulos y luego las ordene
//de forma ascendente utilizando la burbuja.
//Programado por: Jos‚ Alejandro Hern ndez Gonz lez.  MAT-VZLA
#include<iostream.h>
#include<conio.h>
#include<dos.h>
# define n 3
void main()
{
textcolor(0);
textbackground(2);
float area[2][5],l1[2][5],l2[2][5],aux;
int i,j;
clrscr();
for(i=0;i<n;i++)      {
cout<<"Ingrese el 1er lado: ";
cin>>l1;
cout<<"Ingrese el 2do lado: ";
cin>>l2;
area=(l1*l2);
cout<<"El  rea es: "<<area<<endl;
            }
getch();   //Comienza el m‚todo de la burbuja
for(i=0;i<n-1;i++)   {  //Ojo debe ser i<n-1
for(j=0;j<n;j++)      {
if (area>area[j+1][j+1]) { //si quiero ordenar descendentemente cambio
             //el > por <
aux=area;//Guardo el valor que estoy comparando en un auxiliar
area=area[j+1][j+1];//el valor de la segunda area lo intercambio cn la 1era
area[j+1][j+1]=aux;
         }
          }
           } //Fin de la Burbuja
for(i=0;i<n;i++)          { //ciclo para mostrar las areas ordendas
cout<<" "<<area;
           }
getch();
}



El problema es que no se, porque se debe colocar en el primer for que inicia el metodo i<n-1  ...... si alguien me puede responder... se lo agradecería.
cout<<" by elpollo 12 "<<endl;



elpollo12

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Método De La Burbuja
« Respuesta #1 en: Lunes 23 de Julio de 2007, 04:16 »
0
Bueno aqui consegui hacer este otro codigo, el cual creo que esta mejor... pero igual me gustaria saber poruqe se debe colocar en el anterior i<n-1.

//Método de la Burbuja
//Programado por: Jose Alejandro Hernandez Gonzalez
#include<iostream.h>
#include<conio.h>
main()
{
int num[4], aux,i,j;
clrscr();
for(i=0;i<5;i++)   {  //ciclo para pedir los numeros
cout<<"Ingrese un num: ";
cin>>num;//guardo el valor en un vector, tambien puedo trabajar con matriz
           }//fin del ciclo
for(i=0;i<5;i++) {  //comienza el metodo de la burbuja
for(j=0;j<5;j++)        {
if(num<num[j])       {//Si quiero ordenarlo de forma descendente cambio
          //el signo < por >
aux=num;
num=num[j];
num[j]=aux;
           }
         }
           } //fin del metodo
cout<<"Los numeros ordenados son: "<<endl;
for(i=0;i<5;i++) { //Ciclo para presentar los numero ordenados
cout<<" "<<num;
       }
getch();
return 0;
}
cout<<" by elpollo 12 "<<endl;



Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Método De La Burbuja
« Respuesta #2 en: Lunes 23 de Julio de 2007, 05:54 »
0
No es que "deba" obligadamente ponerse así, pero el -1 es porque en la última vuelta del ciclo, los valores ya están ordenados, por lo tanto es innecesaria.
Deberías hacer la prueba de escritorio o ejecutar el progrma paso a paso e ir viendo el valor que van tomando las variables.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

elpollo12

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Método De La Burbuja
« Respuesta #3 en: Lunes 23 de Julio de 2007, 20:13 »
0
ok muchas gracias angel k ido , seguire tu consejo a ver q tal!!!!!
cout<<" by elpollo 12 "<<endl;