Ejemplo de como Ordenar de Mayor a Menor numeros de un vector con el metodo Bubuja.
¿Para que te sirve?
- Para aprender como se ordena, de una forma facil, rapida y efectiva.
- Para aprender a usar InputBox ;)
- Para aprender una especie de "Modo Consola" sin necesidad de agregar TexBox, Labels, etc.
EL CODIGO:
Código:
'---------- EJEMPLO PARA ORDENAR UN VECTOR DE MAYOR A MENOR CON METODO BURBUJA -----------
'---------------------- PROGRAMADO POR CULD, PARA FOROSDELWEB ----------------------------
'NOTA: Para hacerlo mas simple, use InputBox para captar los numeros, asi no hay que
'agregar ningun TextBox
'----------------------------------------------------------------------------------------
Private Sub Form_Load()
Dim X As Integer 'Variable para los FOR
Dim Vector(1 To 10) As Double 'El vector (se puede ampliar)
Dim Auxiliar As Double 'Variable auxiliar
Dim Escribio As String 'El InputBox solo admite String, asi que guardamos aca lo que escribe
Dim Modifico As Boolean 'Es una "MARCA" para saber si ya termino de ordenar
For X = 1 To 10 'Realizo 10 cargas
Escribio = InputBox("Ingrese un Numero (" & X & "/10)", "Ejemplo Ordenar Vector (BURBUJA)")
Vector(X) = CDbl(Escribio) 'Como lo que escribe es STRING tengo que pasarlo a Double
Next X
Modifico = True 'Asigno la marca para que realice por lo menos 1 vez
Do While Modifico = True 'Mientras se ordena hay que dar una vuelta mas
Modifico = False 'Asigno la marca suponiendo que no va a ordenar
For X = 1 To 9 'Recorro el vector (pongo 9 por que 10+1 es 11 y seria overflow)
If Vector(X + 1) > Vector(X) Then 'Ya se entiende
Auxiliar = Vector(X) 'Guardo Vector(X) ya que se va a modificar
Vector(X) = Vector(X + 1) 'Modifico Vector(X)
Vector(X + 1) = Auxiliar 'A Vector(X+1) le asigno Vector(X) que guarde en Auxiliar
Modifico = True 'Pongo la marca que se ordeno
End If
Next X
Loop
Dim Mensaje As String 'Esta variable la uso para mostrar un solo TextBox
Mensaje = "A continuacion se ordenan los numeros de Mayor a Menor" & vbNewLine 'El titulo
For X = 1 To 10 'Recorro el vector
Mensaje = Mensaje & vbNewLine & Vector(X) 'Pongo el valor dejando un renglon
Next X
Mensaje = Mensaje & vbNewLine & vbNewLine & "- - - EJEMPLO PRACTICO PARA ORDENAR VECTOR CON METODO BUBUJA - - -" & vbNewLine & vbNewLine & "Programador por CULD, para ForosDelWeb"
MsgBox Mensaje, , "Ejemplo Ordenar Vector (BURBUJA)" 'Muestro el mensaje
End 'Finalizo
End Sub