You are on page 1of 5

Cmo: Declarar una variable de matriz

Una variable de matriz se declara de la misma manera que cualquier otra variable mediante la instruccin Dim. Se agregan uno o ms pares de parntesis a continuacin del nombre de la variable para indicar que es para contener una matriz en vez de una variable escalar (una variable que contiene un solo valor).

Declarar variables de matriz


Para declarar una variable de matriz unidimensional
En su declaracin, agregue un par de parntesis despus del nombre de variable. En el ejemplo siguiente se declara una variable para que contenga una matriz unidimensional con elementos de Double (Tipo de datos, Visual Basic). Dim cargoWeights() As Double En el ejemplo anterior se declara una variable de matriz pero no se le asigna una matriz. Todava debe crear una matriz unidimensional, inicializarla y asignarla a cargoWeights.

Para declarar una variable de matriz multidimensional


En la declaracin, agregue un par de parntesis detrs del nombre de la variable y coloque comas dentro de los parntesis para separar las dimensiones. En el ejemplo siguiente se declara una variable para que contenga una matriz de cuatro dimensiones con elementos de Short (Tipo de datos, Visual Basic). Dim atmospherePressures(,,,) As Short En el ejemplo anterior se declara una variable de matriz pero no se le asigna una matriz. Todava debe crear una matriz de cuatro dimensiones, inicializarla y asignarla a atmospherePressures.

Para declarar una variable de matriz escalonada


En la declaracin, agregue tantos pares de parntesis despus del nombre de variable como niveles haya de matrices anidadas. En el ejemplo siguiente se declara una variable para que contenga una matriz de matrices de matrices (una matriz, cada elemento de la cual es una matriz, cada elemento de la cual es una matriz), en la que la matriz ms profunda tiene elementos de Byte (Tipo de datos, Visual Basic).

Dim inquiriesByYearMonthDay()()() As Byte En el ejemplo anterior se declara una variable de matriz pero no se le asigna una matriz. Todava debe crear una matriz de matrices de matrices, inicializarla y asignarla a inquiriesByYearMonthDay.

Module Module1 Sub Main() Dim i As Integer 'ndice Dim numEle As Integer = 5 Dim matrix2(numEle - 1) As Integer en una sola sentencia For i = 0 To numEle - 1 teclado Console.Write("m(" & i & ")= ") matrix2(i) = Convert.ToInt32(Console.ReadLine()) Next 'Acceder a los miembros de una matriz Dim a As Integer = matrix2(4) Console.WriteLine()
Console.WriteLine("El valor almacenado en la matrix2 con indice m(4) es: " & a)

'declaracin y creacin de una matriz _

'iniciacin de la matriz con valores desde el _

Dim n As Integer = matrix2.Length 'tamao de la matriz Dim dm As Integer = matrix2.Rank 'dimensin de la matriz Console.WriteLine("El tamao de la matriz matrix2 es: " & n) Console.WriteLine("La dimensin de la matriz matrix2 es: " & dm) Dim m1() As Integer = {10, 2, 45, 78, 9, 2} Dim m2() As Integer = CType(m1.Clone(), Integer()) 'm2 es una copia de m1 If (m1.Equals(m2)) Then 'Equals permite verificar si dos referencias se _ refieren al mismo objeto Console.WriteLine("m1 y m2 se refieren a la misma matriz") Else Console.WriteLine("m1 y m2 son diferentes") End If End Sub End Module

Cmo: Crear dimensiones

una

matriz

con

varias

Visual Studio 2005 Una matriz que utiliza ms de un ndice se denomina matriz multidimensional. Al igual que con una matriz unidimensional, se crea con una clusula New (Visual Basic) y se asigna a la variable de matriz. Puede hacer esto como parte de la declaracin de la matriz o en una instruccin de asignacin subsiguiente.

Para crear una matriz multidimensional


1. 2. Coloque el nmero adecuado de comas dentro de los parntesis que siguen al nombre de variable. Debe tener una coma menos que el nmero de dimensiones. Coloque el nmero adecuado de comas dentro de los parntesis en la clusula New. No necesita comas dentro de las llaves ({}) si no proporciona ningn valor de elemento. El ejemplo siguiente declara una variable para que contenga una matriz bidimensional con elementos de Double (Tipo de datos, Visual Basic), crea la matriz y la asigna a la variable. Dim weights(,) As Double = New Double(,) {} Tras la ejecucin de esta instruccin, la matriz de la variable weights tiene una longitud de 0.

Nota
Cuando se agregan dimensiones a una matriz, el espacio total necesario para guardar la matriz aumenta considerablemente; por ello, debe utilizar las matrices multidimensionales con prudencia.

Module Module1 Sub Main() Dim matrix(3, 3) As Double 'declaro y creo la matriz con 9 elementos a almacenar es decir _ una matriz de 3X3 'inicio la matriz para cada elemento m(i,j) con valores desde el teclado For i As Integer = 0 To 2 'indico los indices de la matriz para las filas For j As Integer = 0 To 2 'indico los indices de la matriz para las columnas Console.Write("valor para m({0},{1})= ", i, j) 'pido al usuario ingresar el valor matrix(i, j) = Console.ReadLine() 'leo y guardo el valor introducido por el usuario Next Next Console.WriteLine() Console.WriteLine("El valor que tiene matrix en m(2,2) es: " & matrix(2, 2)) 'accedo al _ valor que tiene la matriz con indice m(2,2) Console.WriteLine() Console.WriteLine("Los valores introducidos por el usuario a la matrix son:") Console.WriteLine() For i As Integer = 0 To 2 'indico los indices de i For j As Integer = 0 To 2 'indico los indices de j Console.Write(" " & matrix(i, j)) 'muestra en pantalla los valores de la matriz _ para cada m(i,j) Next Console.WriteLine() Next Console.WriteLine() Dim impares As Integer = 0, pares = 0 'declaro variables que contaran pares e impares Dim matrix2() As Integer = New Integer() {1, 2, 3, 4, 9, 12} 'Declaro, creo e inicio al _ mismo tiempo la matriz For Each valor As Integer In matrix2 'utilizo For...Each para contar los elementos pares e _ impares If (valor Mod 2 = 0) Then pares += 1 'cuenta los pares Else impares += 1 'cuenta los impares End If Next Console.WriteLine("Hay {0} impares, {1} pares.", impares, pares) 'muestra la suma total de _ pares e impares contenidos en la matriz End Sub End Module

Cmo: Crear una matriz de matrices


Una matriz con matrices para elementos se denomina matriz de matrices o matriz escalonada. Al igual que con una matriz unidimensional, se crea con una clusula New (Visual Basic) y se asigna a la variable de matriz. Puede hacer esto como parte de la declaracin de la matriz o en una instruccin de asignacin subsiguiente.

Para crear una matriz escalonada


1. Agregue despus del nombre de variable tantos pares de parntesis como niveles de matrices anidadas existan. 2. Agregue el mismo nmero de pares de parntesis a la clusula New. No necesita ms que un par de llaves ({}) si no va a proporcionar ningn valor de elemento. Ejemplo:
Module Module1 Sub Main() Dim i = 0, j As Integer = 0 'declaro indices Dim matrixEsc(1)() As Integer 'declaro y creo matriz de m(0) a m(1) 'grficamente la matriz puede visualizarse as. 'matrixEsc --> |m(0)|m(1)| ' |---|--->|m(0)(0)|m(0)(1)|m(0)(2)| fila 0 ' | ' |--->|m(1)(0)|m(1)(1)|m(1)(2)| fila 1 matrixEsc(0) = New Integer(2) {1, 2, 3} 'inicializacin de la matriz 0 con valores del 1 al 3 matrixEsc(1) = New Integer(2) {5, 6, 7} 'inicializacin de la matriz 1 con valores del 5 al 7 For i = 0 To 1 'ciclo for para indicar los indices de la matrixEsc, que pertenecen a las matrices 0 y 1 For j = 0 To 2 'ciclo for para indicar el rango de las matrices 0 y 1, 'las cuales tienen 3 elementos Console.Write("m({0})({1})={2} ", i, j, matrixEsc(i)(j)) 'muestra los valores para cada m(i)(j) Next Console.WriteLine() 'agrega un salto de lnea para cada matriz Next End Sub End Module