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