Ayuda con arreglos (vectores, matrices)

Veronica
23 de Mayo del 2006
Hola a todos, mi pregunta es la siguiente:
Como puedo hacer para utilizar una matriz donde si se el numero de columnas que llevaria pero no se el numero de renglones(filas)?

Le he puesto de la siguiente manera:

dim matriz( ,3)
aparte que he buscado como declararlo y no he encomtrado nada.

Aprovenchando tambien, alguien sabe como inicializar un vector de tipo integer con puros 0 sin la necesidad de hacer un ciclo para ello

algo como en C que se pone

int Vector(10)={0}

he intentado en visual usar algo similar y no he encontrado tampoco.

Gracias por su grandiosa ayuda......

mvallejos
23 de Mayo del 2006
Cualquier estructura dinámica de declara sin dimensiones

Dim Matriz() as Long

Luego, en tiempo de ejecucion se puede ir dimensionando, primero inicialmente, sabiendo la cantidad de columnas

Dim Matriz ( 0, Filas)

Luego, en la medida que necesitas más lugares, usas la clausula preserve

Redim Preserve Matriz(Filas, Columnas)

Preserve redimensiona la estructura sin limpiar los datos preeexistentes.

Saludos



LLE
23 de Mayo del 2006
Hola con lo de los vectores, al declararlo ya tiene los valores en 0, si no hace la prueba:

Dim x(10) As Integer

For i = LBound(x) To UBound(x)

MsgBox "valor de" & x(i)

Next

End Sub

Con lo segundo, si me equivoco me corrigen.

En vb no podes redimensionar con RedimPreserve la primera dimension esto te daria un error:

Dim y() As Integer

ReDim y(2, 4)

y(1, 1) = 1234

ReDim Preserve y(1, 4)

al cambiar la primer dimension se genera el error. por lo tanto no puede cambiar, y en este caso tendrias que usar siempre en la primera dim el 2.

si no queres preservar el valor con redimpreserve, es decir solo utilizar Redim, si es posible, pero no se si te sirve ya que no vs a poder preservar los datos.

Una idea es que cambies el orden, los datos variables los uses en la segunda dimension y el dato estatico en la primera.

salu2

www.recursosvisualbasic.com.ar.