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,691 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:
Bases de datos
Resumen:
Archivos convencionales. Definición de Base de Datos. Componentes principales Ventajas en el uso de Bases de Datos. El sistema organizador de Base de Datos (DBMS). El adm...
Curso de Visual Foxpro 5.0 - Diseño de la Base de Datos
Resumen:
Diseño del Repositorio de Datos en Visual Foxpro. Creación de la base de datos. Relaciones entre tablas. Vistas locales. Creación de vistas remotas. Consultas a la BD usa...
Controles y clases en Visual Basic
Resumen:
Introducción a los controles. Propiedades, métodos, Funciones y Eventos. Creación de un control. Manos a la obra. Creación de las propiedades del control textbox especial...
Select SQL Aplicado A Visual FOX PRO 6.0
Resumen:
Estructura de las tablas usadas en los ejemplos. Select –SQL en visual FOX PRO 6.0. Componentes del SQL. Criterios de selección. Intervalos de valores. El operador like. ...
Lenguaje Ensamblador
Resumen:
Importancia. Ventajas y desventajas del Lenguaje Ensamblador. Modos de direccionamiento. Tabla de combinaciones posibles. Es importante como se puede ver, el Lenguaje Ens...
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©