• Viernes 17 de Mayo de 2024, 05:27

Autor Tema:  No Me Lo Ordena El Arreglo  (Leído 1000 veces)

JPVM

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
No Me Lo Ordena El Arreglo
« en: Viernes 22 de Abril de 2005, 22:44 »
0
Código: Text
  1. Public Sub ordena()
  2. Dim i, j As Integer
  3. Dim cant2 As Integer
  4. Dim aux As Integer
  5. cant2 = Val(txtcant.Text)
  6. i = 1
  7. j = 1
  8. Do While i < ((cant2 - 1))
  9.     Do While j <= ((cant2 - i))
  10.         If num(i - 1) > num(j) Then
  11.             aux = num(i - 1)
  12.             num(i - 1) = num(j)
  13.             num(j) = aux
  14.          End If
  15.          j = j + 1
  16.      Loop
  17.      j = i
  18.      i = i + 1
  19. Loop
  20.  
  21. End Sub
  22.  

tengo ese codigo para ordenar un arreglo numerico pero me ordena como los 2 primeros campos y luegos otros no y otros si

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: No Me Lo Ordena El Arreglo
« Respuesta #1 en: Sábado 23 de Abril de 2005, 04:43 »
0
Hola que tal.

Creo que lo que esta mal es la condición de tu segundo ciclo:
Código: Text
  1. Do While j <= ((cant2 - i))
  2.  
con esto no terminas de comparar todo tu arreglo, deberia ser:
Código: Text
  1. Do While j <= ((cant2 - 1))
  2.  
ademas creo deberias cambiar esto:
Código: Text
  1.  
  2.    j = i
  3.     i = i + 1
  4.  
por esto:
Código: Text
  1.  
  2.     i = i + 1
  3.    j = i
  4.  
no es un error esto último, pero es lo correcto.

Espero te haya ayudado.

Hasta luego.