Hola a todos.
Me estoy volviendo loco con un error que no soy capaz de encontrar. Tengo esta función, que basicamente rellena un array de dos dimensiones preguntando al usuario por los números.
Código:
Private Function preguntarDatos(d As String) As Float[]
Dim a, c As Integer
Dim entrada As String
Dim en As Float[]
Dim b As Float
en = New Float[filas, columnas]
Print "Introduce los datos de la matriz '" & d & "':"
For c = 0 To filas - 1
For a = 0 To columnas - 1
While True
Print "Dato [" & Str(c + 1) & ", " & Str(a + 1) & "] = ?"
Input entrada
Try b = CFloat(entrada)
If Error Then
Print "Dato no válido..."
Else
Break
Endif
Wend
en[c, a] = b
Next
Next
Return en
End
Como apunte, las variables "filas" y "columnas" son variables de clase y he comprobado que no tengan un valor de cero. El caso que es en la primera vuelta del bucle for me da un error de "Bad number of dimensions" en la línea 22. Y no puede ser, ya que las variables "c" y "a" tienen el valor de 0, como digo es en la primera interacción.
El caso que poninedo este código en la web de Gambas no me da error.
Código:
Dim a, c As Integer
Dim entrada,d As String
Dim en As Float[]
Dim b As Float
dim filas, columnas as integer
filas = 3
columnas = 3
d="jk"
en = New Float[filas, columnas]
Print "Introduce los datos de la matriz '" & d & "':"
For c = 0 To filas - 1
For a = 0 To columnas - 1
While True
Print "Dato [" & Str(c + 1) & ", " & Str(a + 1) & "] = ?"
entrada = "3"
Try b = CFloat(entrada)
If Error Then
Print "Dato no válido..."
Else
Break
Endif
Wend
en[c, a] = b
Next
Next
Como se puede observar es practicamente el mismo, el primero me da error y el segundo no. ¿Alguién ve lo que estoy haciendo mal?
Muchas gracias.
Un saludo.