Introdução às matrizes

Ver Todos os Exercícios

Teoria

Introdução

Fala aí, aqui é o Guga do Responde Aí! Tudo bem com você?

Anteriormente nós batemos um papo sobre o que são e como funcionam os vetores. Sem perder o fio da meada dessas estruturas, hoje nós iremos conversar um pouco sobre matrizes.

Então, vamos nessa!

Matriz

De maneira geral, uma matriz nada mais é do que um vetor com mais de uma dimensão. De fato, essas duas estruturas possuem uma forte relação, o que faz com que na programação uma matriz unidimensional seja um vetor e um vetor com mais de uma dimensão seja uma matriz.

Pegou a referência? Agora que você já conhece essa relação, para facilitar o nosso entendimento iremos adotar algumas referências de menção.

Quando quisermos nos referir a uma estrutura unidimensional utilizaremos a nomenclatura “Vetor” (estrutura que nós visualizamos através de uma linha de dados computacionais nos tópicos anteriores). No entanto, quando formos nos referir a estruturas com mais de uma dimensão, chamaremos as mesmas de “Matriz”.

Beleza! Agora vamos parar com esse papo chato de nomenclatura e vamos ver de fato o que é uma matriz, utilizando como exemplo uma de 2 dimensões (matriz bidimensional):

1 0 0 0 1 0 0 0 1

Nessa matriz, ao invés de organizarmos os dados em apenas uma linha (como acontece nos vetores), temos a adição de colunas. Dessa forma, um dado é identificado através do cruzamento entre uma linha e uma coluna.

Vamos para um exemplo!

Se observarmos bem, ao relembrar um jogo conhecido como Campo Minado veremos que o propriamente dito campo se trata de uma matriz e as minas espalhadas pelo mesmo estão localizadas em coordenadas dela.

Sendo assim, começando pelo tamanho, vamos recriar alguns dos conceitos desse jogo em uma matriz computacional. Dá uma olhadinha na seguinte matriz:

0 0 1 0 1 0 0 0 0

O tamanho de uma matriz é dado pela quantidade linhas e colunas que a mesma possui. Então, se uma matriz possui m linhas e n colunas dizemos que ela possui é da ordem m x n.

Dessa forma, considerando que as coordenadas que armazenam o número 1 se trata de locais com a presença de mina e as coordenadas que armazenam o número 0 aquelas que estão livres, nós acabamos de criar um campo minado em formato de matriz computacional de ordem 3 x 3.

Mas o que de fato é a coordenada de uma matriz?

É bem simples, coordenadas são o cruzamento entre linhas e colunas de uma matriz. Sendo assim, utilizando o mesmo exemplo do campo minado reduzido que criamos, podemos referenciar as posições perigosas (aquelas que possuem minas) através de coordenadas.

Portanto, a coordenada ( 0 ,   2 ) é tão perigosa quanto a coordenada ( 1 ,   1 ) , pois ambas armazenam o número 1 (contém mina). Onde o primeiro número da coordenada referência uma linha e o segundo uma coluna da estrutura. Vale lembrar que assim como nos vetores, as matrizes possuem suas contagens iniciadas no número 0.

Criando uma matriz

Criar uma matriz é muito semelhante a criar um vetor, a única diferença se encontra na adição da declaração do número de colunas que a mesma terá. Dessa forma, para criar o campo minado reduzido utilizado nos exemplos, basta codificarmos as seguintes linhas:

E acabamos de criar uma matriz denominada campoMinado de ordem 3 x 3 e tipo int. Em uma forma geral, podemos resumir a criação de uma matriz através do seguinte código:

Molezinha, né? Agora que já tivemos a nossa introdução às matrizes, está na hora de resolvermos alguns exercícios de fixação para aprendermos de verdade o conceito.

O portal já vai fechar! Te encontro na página aqui do ladinho.

Criando uma matriz

Exercícios Resolvidos

Exercício Resolvido #1

Um dos jogos mais famosos do mundo, conhecido no Brasil como “Jogo da Velha” é representado a seguir com uma partida:

Em um determinado dia o seu professor de programação passou como trabalho a criação do jogo da velha no computador. Tendo estudado o conteúdo do trabalho no Responde Aí, você teve a brilhante ideia de representar o campo do jogo em uma matriz.

Tendo como base a partida acima, como ficaria a sua representação em uma matriz na linguagem C sendo que as seguintes regras foram passadas por seu professor:

  • O número 0 deve representar que a casa está vazia;
  • O número 1 deve representar o jogador com bolinha;
  • O número 2 deve representar o jogador com xis.

Passo 1

Para entendermos com essa partida de jogo da velha ficará em uma matriz computacional, basta realizarmos a substituição de xis, bolinha ou casa vazia pelos seus respectivos números (passados como regra por seu professor).

Resposta

Ao término da substituição, a matriz representará a partida apresentada no enunciado a partir de dados computacionais:

1 2 1 0 2 1 2 1 2