Ayuda con arreglos (vectores, matrices)
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......
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......
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
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
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.
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.
