Visual Basic - AYUDA CON UN CODIGO POR FAVOR

Life is soft - evento anual de software empresarial
   
Vista:

AYUDA CON UN CODIGO POR FAVOR

Publicado por karla zamora (1 intervención) el 18/02/2009 16:27:40
HOLA ANTES QUE NADA GRACIAS POR LEERME TENGO UN PROBLEMA EL PROFESOR DE VISUAL BASIC ME PUSOA EXPLICAR UN CODIGO PARA EL DIA DE HOY Y NO SE Q HACER POR QUE NO ENTIENDO QUE ES LO Q HACE ESE CODIO
AYUDAAA


PRIVATESUB CMDORDENAR_CLIK()

DIM I AS INTEGER, J AS INTEGER, T AS INTEGER , N AS INTEGER
DIM A () AS INTEGER
N = LSTNUMERO.LISTCOUNT
REDIM A (N)
FOR I = O TO N-1
A(I)= LSTNUMERO.LIST (I)
NEXT I

IF OPTASCENDENTE.VALUE THEN
FOR I = 0 TO N-2
FOR J =I + 1 TO N-1
IF A (I) > A(J) THEN
T =A(I)
A(J) =A(J)
A(JNEXT
END IF
NEXT J
NEXT I
END IF
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Veamos ...

Publicado por Quique (52 intervenciones) el 18/02/2009 16:51:32
Te voy a explicar la idea, porque, de hecho, el código tiene errores.
Se declaran algunas variables del tipo ENTERO, y un arreglo o vector (algunos les dicen "array") sin dimensión al declararlo:
DIM I AS INTEGER, J AS INTEGER, T AS INTEGER , N AS INTEGER
DIM A () AS INTEGER

En la variable N se almacena u obtiene el número de elementos del control LstNumero (seguramente un ListBox):
N = LSTNUMERO.LISTCOUNT
y luego redimensiona el vector A( ) al tamaño según los elementos del ListBox:
REDIM A (N)
para luego almacenar cada uno de esos elementos (el contenido del ListBox):
FOR I = O TO N-1
A(I)= LSTNUMERO.LIST (I)
NEXT

Posteriormente compara si el Checkbox llamado OPTASCENDENTE tiene una marca de verificación, y por lo que se ve, es para que ordene los elementos del vector A( ) ascendentemente. Esta es la comparación:
IF OPTASCENDENTE.VALUE THEN
Si la condición se cumple, trata de implementar el "método de la burbuja" para ordenarlos:
FOR I = 0 TO N-2
FOR J =I + 1 TO N-1
IF A (I) > A(J) THEN
T =A(I)
A(J) =A(J) ' Esto no sirve para maldita la cosa.
A(JNEXT ' Esto tiene error. Lo has de haber copiado mal.
END IF
NEXT J
NEXT I
END IF
Pero te menciono que tiene errores ese código o lo copiaste mal. Creo que las lineas que te comenté deberían ser:
A(I) = A(J)
A(J) = T
Y supongo que debes tener otro código para ordenar pero en forma descendente, así que mejor ponte a estudiar; no vaya a ser que también tengas que exponerlo en clase.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Veamos ...

Publicado por P3L30N2009 (701 intervenciones) el 18/02/2009 18:13:47
buena explicación tocapelostras, ni yo mismo la hubiera mejorado.

Enhorabuena!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar