Minicursos - C#

Matrizes


Assim como no tutorial sobre vetores, vou direto ao código, partindo do princípio que você já sabe a teoria sobre matrizes. Caso não saiba ou tenha alguma dúvida, dê uma olhada no tópico "Matrizes" no minicurso de Lógica primeiro, ok? É importante!

Bem, matrizes nada mais são do que vetores de duas dimensões. A sintaxe e a lógica por trás delas são praticamente as mesmas dos vetores, no entanto agora temos que nos preocupar com dois ou mais índices e não apenas um, mas isso em nada torna o código mais complexo. Vejam abaixo a criação de uma matriz 2x2:

Matrizes - C#

Na verdade é uma sintaxe muito parecida com a de um vetor. Vejam quais são as diferenças:

Matrizes - C#

Uma matriz, assim como um vetor, possui seu índice começando pelo número zero e não pelo valor um. Portanto, teremos as posições distribuídas da seguinte forma:

Matrizes - C#

Agora vamos inserir valores nela:

matriz22[0,0] = 8;
matriz22[0,1] = 4;
matriz22[1,0] = 3;
matriz22[1,1] = 9;

Para imprimir uma matriz devemos utilizar um for aninhado, que é um for dentro de outro. Segue um exemplo:

Matrizes - C#

E a saída, exibindo nossa matriz, seria:

Matrizes - C#

Também é possível já criar a matriz e inicializa-la com valores, conforme mostra o código abaixo:

Matrizes - C#

Essa matriz, quando exibida no Console, terá três linhas e duas colunas, vejam:

Matrizes - C#

O interessante é que quando uma matriz já é inicializada com valores, não é necessário especificar suas dimensões. Ela pode se ajustar de acordo com a quantidade de dados inseridos. Vejam esse código abaixo:

Matrizes - C#

Vejam a impressão da mesma:

Matrizes - C#

Matrizes multidimensionais

É importante dizer que podemos criar matrizes de mais de duas dimensões. Para criar, por exemplo, uma matriz de 3 dimensões, devemos proceder da seguinte maneira:

Matrizes - C#

Aqui temos uma matriz 2x2x2, ou seja, com duas linhas, duas colunas e dois níveis de profundidade.

Matrizes podem ser criadas de quantas dimensões forem necessárias. Podemos criar algo como:

Matrizes - C#

Aí teremos uma matriz 2x2x2x3x3, ou seja, uma matriz de 5 dimensões. Não tente imaginar como ela deve ser e muito menos tente trabalhar com isso. Eu apenas citei o exemplo para que você saiba que os computadores podem trabalhar com todas essas dimensões, mas nós, humanos, não podemos sequer imagina-las, portanto lembre-se que matrizes são incrivelmente úteis e é pouco provável que você nunca tenha que trabalhar com elas, mas contente-se com apenas duas dimensões (linhas e colunas), ok? Trabalhe com três somente se houver uma razão muito forte para isso, pois a chance de você errar a lógica do código por imaginar a informação na dimensão errada é muito grande. Já vi casos em que uma matriz de 3 dimensões foi transformada em uma matriz 2x2 e mais um vetor e o código ficou muito mais legível. Resumindo, sempre que puder usar apenas duas dimensões, será melhor.

Para encerrar, lembro que assim como nos vetores, as matrizes aceitam diversos tipos de dados, como char, double, string, dentre outros.



Algumas notícias

Google Chrome consumirá menos memória RAM em breve

O navegador da gigante de buscas da Internet é, sem dúvida, um dos melhores disponíveis, mas é inegável que o consumo de memória RAM por parte dele é exagerado. Este problema já se estende por anos, mas parece que em breve ele terá uma solução. Um novo recurso do Windows 10, chamado SegmentHeap...

Ler Notícia Completa

Sites e vídeos sem propagandas? Sim, é possível através da exploração de uma falha!

Seguramente você já se deparou com sites que bloqueiam o conteúdo da página e te obrigam a assinar determinado serviço para ler o conteúdo, certo? Ou foi tentar assistir aquele vídeo e as propagandas em tela cheia não pararam de surgir. Bem, todos já nos deparamos com isso, no entanto, um bug de...

Ler Notícia Completa

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa
Você gostará destes vídeos!