Ilustrados comunidad mundial educativa
Inicio | Escribenos
User: Pass: Recordar ó (Registrate!)

| !Publicar Articulo¡

Ordenamiento de arreglos por el Método de la Burbuja Simple. Burbuja Doble y Burbuja Triple

Resumen: El código de este programa está desarrollado en Microsoft Visual C++ 2005. El usuario deberá asignar variables a cada uno de los Edit Control, desde m_a1 hasta m_a11 en los de arriba y desde m_b1 hasta m_b11 en los de abajo.
3,207 visitas
Rating: 0
Tell a Friend
Autor: Jaime Oswaldo Montoya Guzmán

El código de este programa está desarrollado en Microsoft Visual C++ 2005. El usuario deberá asignar variables a cada uno de los Edit Control, desde m_a1 hasta m_a11 en los de arriba y desde m_b1 hasta m_b11 en los de abajo. Para agregar variables se le da clic derecho a cada Edit Control, luego Agregar variable…, posteriormente en el Asistente para agregar variables miembro en Categoría se le cambia de Control a Value, y en Tipo de variable se le pone int para que sean enteros. Luego en Nombre de la variable se le ponen los nombres como se indicó anteriormente (de m_a1 a m_a11 y de m_b1 a m_b11).

 Posterior a ello se le da doble clic a cada uno de los botones en tiempo de diseño y se agrega el código correspondiente.

 

 ORDENAMIENTO BURBUJA SIMPLE 

void CordenamientoburbujaDlg::OnBnClickedButton1()

{

      // TODO: Agregue aquí su código de controlador de notificación de control

      #define TAMANIO 10

      int vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6};

int pasadas,elemento,almacena;

      UpdateData(TRUE);

      m_a1=vector[0];

      m_a2=vector[1];

      m_a3=vector[2];

      m_a4=vector[3];

      m_a5=vector[4];

      m_a6=vector[5];

      m_a7=vector[6];

      m_a8=vector[7];

      m_a9=vector[8];

      m_a10=vector[9];

      UpdateData(FALSE);

for (pasadas=1;pasadas<TAMANIO;pasadas++){

            for(elemento=0;elemento<TAMANIO-1;elemento++){

                  if(vector[elemento]>vector[elemento+1]){

                        almacena=vector[elemento];

                        vector[elemento]=vector[elemento+1];//Declaración destructiva.

                        vector[elemento+1]=almacena;

                  }

            }

      }

      UpdateData(TRUE);

      m_b1=vector[0];

      m_b2=vector[1];

      m_b3=vector[2];

      m_b4=vector[3];

      m_b5=vector[4];

      m_b6=vector[5];

      m_b7=vector[6];

      m_b8=vector[7];

      m_b9=vector[8];

      m_b10=vector[9];

      UpdateData(FALSE);

}

 ORDENAMIENTO BURBUJA DOBLE 

void CordenamientoburbujaDlg::OnBnClickedButton2()

{

      // TODO: Agregue aquí su código de controlador de notificación de control

#define TAMANIO 10

int vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6};

int pasadas,elemento,almacena;

UpdateData(TRUE);

m_a1=vector[0];

m_a2=vector[1];

m_a3=vector[2];

m_a4=vector[3];

m_a5=vector[4];

m_a6=vector[5];

m_a7=vector[6];

m_a8=vector[7];

m_a9=vector[8];

m_a10=vector[9];

UpdateData(FALSE);

for (pasadas=1;pasadas<TAMANIO/2;pasadas++){

      for(elemento=0;elemento<TAMANIO-1;elemento++){

            if(vector[elemento]>vector[elemento+1]){

                  almacena=vector[elemento];

                  vector[elemento]=vector[elemento+1];

                  vector[elemento+1]=almacena;

            }

            if(vector[TAMANIO-(elemento+1)]<vector[TAMANIO-(elemento+2)]){

                  almacena=vector[TAMANIO-(elemento+1)];

                  vector[TAMANIO-(elemento+1)]=vector[TAMANIO-(elemento+2)];

                  vector[TAMANIO-(elemento+2)]=almacena;

            }

      }

}

UpdateData(TRUE);

m_b1=vector[0];

m_b2=vector[1];

m_b3=vector[2];

m_b4=vector[3];

m_b5=vector[4];

m_b6=vector[5];

m_b7=vector[6];

m_b8=vector[7];

m_b9=vector[8];

m_b10=vector[9];

UpdateData(FALSE);

}

 ORDENAMIENTO BURBUJA TRIPLE 

void CordenamientoburbujaDlg::OnBnClickedButton3()

{

      // TODO: Agregue aquí su código de controlador de notificación de control

      #define TAMANIO 11

      int vector[TAMANIO]={4,5,3,9,2,3,1,4,8,6};

      int pasadas,elemento,menor,medio,mayor;

      UpdateData(TRUE);

      m_a1=vector[0];

      m_a2=vector[1];

      m_a3=vector[2];

      m_a4=vector[3];

      m_a5=vector[4];

      m_a6=vector[5];

      m_a7=vector[6];

      m_a8=vector[7];

      m_a9=vector[8];

      m_a10=vector[9];

      UpdateData(FALSE);

      for(pasadas=1;pasadas<TAMANIO/2;pasadas++){

            for(elemento=0;elemento<(TAMANIO-1)-(pasadas*2);elemento++){

                  if((vector[elemento]<vector[elemento+1]) && (vector[elemento]<vector[elemento+2])){//Si el primer número es el mayor de los 3.

                        menor=vector[elemento];

                        if(vector[elemento+1]<vector[elemento+2]){

                             medio=vector[elemento+1];

                             mayor=vector[elemento+2];

                        }

                        else{

                             medio=vector[elemento+2];

                             mayor=vector[elemento+1];

                        }

                  }

                  if((vector[elemento+1]<vector[elemento]) && (vector[elemento+1]<vector[elemento+2])){//Si el segundo número es el mayor de los 3.

                        menor=vector[elemento+1];

                        if(vector[elemento]<vector[elemento+2]){

                             medio=vector[elemento];

                             mayor=vector[elemento+2];

                        }

                        else{

                             medio=vector[elemento+2];

                             mayor=vector[elemento];

                        }

                  }

                  if((vector[elemento+2]<vector[elemento]) && (vector[elemento+2]<vector[elemento+1])){//Si el tercer número es el mayor de los 3.

                        menor=vector[elemento+2];

                        if(vector[elemento]<vector[elemento+1]){

                             medio=vector[elemento];

                             mayor=vector[elemento+1];

                        }

                        else{

                             medio=vector[elemento+1];

                             mayor=vector[elemento];

                        }

                  }

                  if((vector[elemento]==vector[elemento+1]) && (vector[elemento]==vector[elemento+2])){//Caso de 1,1,1 (tres iguales).

                        menor=vector[elemento];

                        medio=vector[elemento+1];

                        mayor=vector[elemento+2];

                  }

                  if((vector[elemento]==vector[elemento+1]) && (vector[elemento+2]>vector[elemento])){//Caso de 1,1,2 (dos primeros iguales y tercero mayor).

                        menor=vector[elemento];

                        medio=vector[elemento+1];

                        mayor=vector[elemento+2];

                  }

                  if((vector[elemento]==vector[elemento+2]) && (vector[elemento+1]>vector[elemento])){//Caso de 1,2,1 (primero y tercero iguales y segundo mayor).

                        menor=vector[elemento];

                        medio=vector[elemento+2];

                        mayor=vector[elemento+1];

                  }

                  if((vector[elemento+1]==vector[elemento+2]) && (vector[elemento]>vector[elemento+1])){//Caso de 2,1,1 (segundo y tercero iguales y primero mayor).

                        menor=vector[elemento+1];

                        medio=vector[elemento+2];

                        mayor=vector[elemento];

                  }

                  vector[elemento]=menor;

                  vector[elemento+1]=medio;

                  vector[elemento+2]=mayor;

            }

      }

      UpdateData(TRUE);

      m_b1=vector[0];

      m_b2=vector[1];

      m_b3=vector[2];

      m_b4=vector[3];

      m_b5=vector[4];

      m_b6=vector[5];

      m_b7=vector[6];

      m_b8=vector[7];

      m_b9=vector[8];

      m_b10=vector[9];

      UpdateData(FALSE);

}

Autor:
Jaime Oswaldo Montoya Guzmán,
Estudiante de 3er. año de Ingeniería en Sistemas Informáticos de la
Universidad Católica de Occidente (UNICO).

jaimemontoya@gmail.com

http://jaimemontoya.googlepages.com

Santa Ana, 5 de marzo de 2007
El Salvador

 

 

 

Articulos relacionados:
Modelo de base de datos con ER/studio
Resumen:
ER/Studio. Diseño. Relaciones. Efectos en la Cardinalidad. Repositorio de ER/Studio. Es una herramienta de modelado de datos fácil de usar y multinivel, para el diseño y ...
Sistemas de Procesamiento de Datos Programación Orientada a Objetos
Resumen:
Estructura de un objeto. Encapsulamiento y ocultación. Organización de los objetos. Actualmente una de las áreas más candentes en la industria y en el ámbito académico es...
Diseño de Sistemas - Diseño de los Objetos
Resumen:
Diseño del Sistema. Definición de subsistema. Identificación de la concurrencia. Asignación. Almacenamiento de datos. Administración de los recursos. Software de control....
Aplicación de Data Envelopment Análisis (DEA) al Sistema de Evaluación de los Proyectos de Inversión publica del Gobierno Regional de Madre de Dios
Resumen:
En el presente trabajo evaluamos la utilidad de una medida de la eficiencia en las Oficinas de Programación e Inversiones (OPIs) del Gobierno Regional de Madre de Dios, a...
Programación en lenguaje ensamblador
Resumen:
Arquitectura del microprocesador. Programación Básica. Manipulación de cadenas (Strings). Programación de E/S. Macros. Programación modular. Programación híbrida.
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©