Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mario R. Rancel en 07 de Agosto 2012, 16:32
-
CONSULTA: ¿Cómo puedo almacenar un número de soluciones variable en un array de Visual Basic?
RESPUESTA: El siguiente código es un ejemplo, el código simplemente analiza un array de datos y almacena aquellos valores menores de 25 en un array solución. Si se entiende este código creo que lleva implícita buena parte de la respuesta, de todas formas si hay dudas consultar.
Option Base 1
Dim Datos() As Integer
Dim ValoresSolucion() As Integer
Dim i%, j%, k%
Private Sub Form_Load()
Show
ReDim Datos(5)
ReDim ValoresSolucion(5)
Datos(1) = 19
Datos(2) = 55
Datos(3) = -22
Datos(4) = 78
Datos(5) = 44
Print "Hay"; UBound(Datos); " datos"
k = 0
For i = 1 To (UBound(Datos))
Print "Dato " & i & " es "; Datos(i)
If Datos(i) < 25 Then
k = k + 1
ValoresSolucion(k) = i
End If
Next
'Ajustamos el tamaño del array al número de soluciones encontradas
ReDim Preserve ValoresSolucion(k)
Print "Hay"; UBound(ValoresSolucion); " valores menores de 25"
For i = 1 To (UBound(ValoresSolucion))
Print "Solución " & i & " tiene indice "; ValoresSolucion(i); "y valor "; Datos(ValoresSolucion(i))
Next
End Sub
-
Nota: este código usa algunas funciones avanzadas como Ubound o Redim y Redim Preserve.
Esto se hace suponiendo que tenemos necesidad de almacenar los resultados en un array. Si no tuviéramos esa necesidad y simplemente necesitamos mostrar un resultado por pantalla no haría falta usar estas funciones, bastaría con hacer lo que se ha indicado aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=305.0 (ir añadiendo elementos a un label a medida que recorremos un bucle)