Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Senior++ en 11 Julio 2011, 20:24 pm



Título: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 11 Julio 2011, 20:24 pm
Bueno esto es un programa que quiero que haga estas 2 cosas:

1.) Tienes un array con un número cualquiera de elementos, averigua cual de las variables de ese array es la que tiene el valor mayor.
2.) La que tiene el valor menor y que no sea cero.


entonces para el primer ejercicio tengo este código:

Código:
'Poner este código en el Form_Load
Dim Hora(24) As Integer
Dim i As Integer, Mayor As Integer

'Llenar el array con números...
'(en esta entrega veremos cómo hacerlo de forma aleatoria)
'...
'Comprobar cual es el mayor
For i = 1 To 24
    If Hora(i) > Mayor Then
Mayor = Hora(i)
    End If
Next
Print "El número mayor es:"; Mayor

Y ahora para el segundo ejercicio tengo este código:
Código:
'Los mismos comentarios iniciales que el primero
Dim Hora(24) As Integer
Dim i As Integer, Menor As Integer
'
For i = 1 To 24
    If Hora(i) Then 'Sólo si no vale cero
If Menor = 0 Then 'Si aún no tiene un valor
    Menor = Hora(i) 'se lo asignamos
Else
    If Hora(i) < Menor Then 'Si el contenido de Hora(i) es menor
Menor = Hora(i) 'lo asignamos como menor
    End If
End If
    End If
Next
Print "El número menor es "; Menor

Bueno esto lo mire de una pagina por que estoy dando esto de los arrays y eso y quise practicar pero cuando lo probé en mi vb6 y le di al commandButton

me imprimió en el primer ejercicio que  el número mayor es: 0

y cuando probé el código del segundo ejercicio mi imprimió:

que el numero menor es: 0

Cosa que no lo entiendo en todo caso el numero mayor sería el 24
y el numero menor el 0 ¿no?

Si me puedes explicar las lineas se lo agradecería para entenderlo mejor es que me cuesta

Gracias  >:D



Título: Re: Alguien me puede explicar esto del Array?
Publicado por: $Edu$ en 11 Julio 2011, 20:29 pm
Es algo insolito lo que estas haciendo lo que pasa, mira.. veo que andas perdido, te recomendaria que busques un buen tutorial de esos grandes, que habra en esta sección y te pongas a estudiar asi como hacen todos ya que parece que tu metodo de aprendizaje no te esta sirviendo.
No lo tomes a mal, solo te digo para que no pierdas el tiempo y aprendas como se debe.


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 11 Julio 2011, 21:02 pm
Es que raul me aconsejo elguille y por lo que veo es que es bueno pero los ejercicios que manda o no esta bien explicados o manda cosas demasiado dificil o no lo explica muy bien

si alguien me dice un buen manual se lo agradecería pero que se de las APIS y todo eso si puede ser uno bueno


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: 79137913 en 11 Julio 2011, 21:02 pm
HOLA!!!

Te Recuerdo que no somos una escuelita, por favor hace un buen tutorial (a mi parecer elGuille es muy bueno y no es nada dificil ni mal explicado).

Aca tenes una solucion basica:

Código
  1. Dim Matriz(100) As Long
  2.  
  3. Private Sub Form_Load()
  4. Dim Min As Long
  5. Dim Max As Long
  6.    Call LlenarArrayAleatoriamente(1000) 'Lleno la matriz
  7.    For x = 0 To UBound(Matriz) 'Busco el mayor
  8.        If Matriz(x) > Max Then Max = Matriz(x)
  9.    Next
  10.    Min = Max 'Inicializo Min = Max
  11.    For x = 0 To UBound(Matriz) 'Busco el minimo
  12.        If Matriz(x) < Min Then If Matriz(x) <> 0 Then Min = Matriz(x)
  13.    Next
  14.    MsgBox "Minimo: " & Min & " Maximo: " & Max, , "Ejemplo para SixToes por 79137913" 'Muestro el resultado
  15.    End 'cierro
  16. End Sub
  17.  
  18.  
  19. Private Sub LlenarArrayAleatoriamente(MaxInt As Long)
  20. On Error GoTo Err:
  21.    For x = 0 To UBound(Matriz)
  22.        Randomize Timer 'Hago que sea aleatorio
  23.        Matriz(x) = Int(Rnd() * MaxInt) 'Lleno la matriz
  24.    Next
  25. Err:
  26. End Sub
  27.  

GRACIAS POR LEER!!!


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: BlackZeroX en 11 Julio 2011, 21:12 pm
@7913

Randomize Timer 'Hago que sea aleatorio

metelo dentro del for...

Dulces Lunas!¡.


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 11 Julio 2011, 21:14 pm
ese codigo que pusistes es por que .El que yo puse estaba mal?

es que solo pedi el por que el numero mayor es 0 y el menor tambien 0 yo me creía que el numero mayor DE MI CODIGO es el 24 y el menor el 0 evidentemente

Saludos


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: 79137913 en 11 Julio 2011, 23:02 pm
HOLA!!!

Gracias Black, Buena idea, modificado.

Si, Sixtoes tu codigo estaba mal y era muy rebuscado.

GRACIAS POR LEER!!!


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: $Edu$ en 11 Julio 2011, 23:06 pm
Esque cuando vos creaste el array, el tamaño del array es de 24, pero estan vacios, si nunca pusiste ningun dato en ninguno :/ por eso daba 0 siempre


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 11 Julio 2011, 23:08 pm
Ans ok es que me extrañaba gracias por la ayuda  :P


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: $Edu$ en 11 Julio 2011, 23:11 pm
Y el tuto de guille si que es bueno, pero leelo tranquilo, dejando pasar unos dias mientras practicas lo aprendido, etc, porque sino no aprendemos nada


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 15 Julio 2011, 16:09 pm
Una pregunta... yo solo quiero mostrar del 1 al 24  osea el 1 y debajo del 1 el 2 y así...

por que me da error cuando hago esto:

Código:
Dim hora(24) as integer
for hora = 1 to 24
print hora

Y me salta un error.. ¿Por que?

luego probe con esto
Código:
Dim hora (1 to 24) as integer
for hora = 1 to 24
print hora
y tambien me salta error

Bueno eso era todo...

Saludos


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: 79137913 en 15 Julio 2011, 16:16 pm
HOLA!!!

Te insisto LEE UN MANUAL DE VISUAL BASIC.

VAGO

Código
  1. 'Mostrar del 1 al 24
  2. For x=1 to 24
  3.    Print x
  4. Next

GRACIAS POR LEER!!!


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: SuperDraco en 15 Julio 2011, 16:36 pm
Citar
Código
  1. 'Mostrar del 1 al 24
  2. For x=1 to 24
  3.    Print x
  4. Next

lo he modificado un poco para practicar, pero tengo una duda

Código
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.  
  5.  
  6.       Dim num As Integer
  7.       Dim num2 As Integer
  8.       num2 = 5
  9.        For num = 1 To 10
  10.            Print num
  11.        If num = num2 Then Exit Sub
  12.        Next
  13. End Sub

Los "IF" no siempre deben acabar con un "End if"? Es que si pongo "End if" mme da error "End if sin bloque"

 :xD


Título: Re: Alguien me puede explicar esto del Array?
Publicado por: Senior++ en 15 Julio 2011, 16:40 pm
79137913

estoy con elguille

los Arrays no funciona en el bucle for?

Pitoloko: el end if se pone solo y unicamente cuando no esta en bloque por ejemplo

Código:
if pitoloko = 10 then
pitoloko = 20
end if
aquí si tienes que poner el end if por que es un bloque pero en cambio si
lo pones así no...
If pitoloko  = 10  then: pitoloko = 20





Saludos

Edito: ya lo solucione gracias..