Você está na página 1de 3

Matrizes

Você pode imaginar um array simples (também chamado de vetor ou


array unidimensional) como uma linha. Ele se estende em uma única
direção. Um array multidimensional (também chamado de matriz) é
como um array formado por arrays internos. Veja na figura 1:

0 1 2 3

“a” “k” “h” “j”


0

1 “d” “u” “j” “m”

2
“e” “j” “p” “a”
3
“t” “u” “d” “g”
4

5 “l” “a” “k” “l”

6
“r” “f” “c” “t”

“i” “g” “p” “e”

Figura 1. Uma matriz bidimensional de 6 linhas por 4 colunas (6x4)

Na figura1, temos uma matriz bidimensional o que significa dizer que ela
tem duas dimensões. Ou seja, ela tem altura e largura. Ela se prolonga
em duas direções. São exemplos de matrizes bidimensionais: tabelas,
planilhas de cálculos, palavras-cruzadas, tabuleiro de xadrez, mapas
planificados (lembra-se da latitude e da longitude?), e por aí vai.

Como seria por exemplo encontrar o elemento de altura 2 e largura 3?


Ora basta primeiramente encontrar a posição 2 no array vertical. Depois
seguindo o array secundário para o qual ele aponta encontramos a
posição 3. O valor contido na posição de altura 2 e largura 3 é o “a”. Na
notação de programação dizemos que matriz[2,3] = “a”. Não é tão difícil
assim, não é mesmo?
Há também as matrizes de três dimensões (tridimensionais) onde
representamos a altura, o comprimento e a largura. Em termos de
programação é como se tivéssemos um array, de arrays, de arrays.
Parece complicado? Não é não. Basta você imaginar a mesma estrutura
acima e de cada posição de um array secundário um apontador para um
array terciário.

Arrays tridimensionais são utilizados para representação geométrica de


mundos 3D, para planilhas ou tabelas com 3 dimensões, e
processamentos mais complexos que exigem essa representação. Se
você estiver pensando que está começando a ficar difícil de imaginar a
matriz, eu vou concordar com você. Mas você sempre pode pensar em
um paralelogramo de dados como na figura 2.

Figura 2. Uma representação tridimensional

A partir de 3 dimensões fica difícil de pensar em arrays


multidimensionais apesar de que é possível criar arrays com até mesmo
255 dimensões. De uma forma geral, os arrays mais utilizados são os de
uma dimensão, seguidos pelos de duas dimensões e raramente os de
três dimensões.

A declaração de uma matriz em C# é muito simples. Suponhamos criar


uma matriz bidimensional. Para isso, basta colocarmos vírgulas dentro
dos colchetes explicitando que usaremos mais de uma dimensão. Por
exemplo:

string [,] matriz;


Essa declaração define uma matriz (array multidimensional) com duas
dimensões. Utilizando o operador new, podemos facilmente dizer a
altura e a largura da matriz definindo a matriz, como mostrado a seguir:

matriz = new string [7, 4]

Essa seria a forma de definirmos a matriz criada na figura 1.

Para associar valores a uma determinada posição da matriz utilizamos:

matriz[ nº da linha, nº da coluna] = “x”;

E para obter o valor, utilizamos a mesma idéia:

valor = matriz [ nº da linha, nº da coluna];

Para visitar todos os elementos da matriz, precisamos usar laços


iterativos (repetições). Vamos precisar de tantos laços quantos forem as
dimensões da matriz. Por exemplo, suponha que quiséssemos limpar a
matriz do exemplo:

for (contador1=0; contador1<7; contador1++)


{
for (contador2=0; contador2<4; contador2++)
{
matriz[contador1, contador2] = “”;
}
}