Escolar Documentos
Profissional Documentos
Cultura Documentos
MATRIZES – Definição
São similares aos vetores, sendo compostas por linhas e colunas.
No exemplo a seguir é apresentada uma matriz chamada mat com 3 linhas e 6 colunas, contendo
números (elementos) do tipo real.
tipo nomeDaMatriz[quantidadeDeLinhas][quantidadeDeColunas];
nomeDaMatriz[índiceDaLinha][índiceDaColuna]
Caso você não tenha entendido esse código, segue uma explicação...
2
1) Primeiro, se você não soubesse estrutura de repetição, como você faria a entrada na 1ª
linha?
2) Agora, suponha que você conheça o laço for, como você faria a entrada na 1ª linha?
Repare que o que varia é apenas o índice de coluna:
3) Suponha que agora você queira realizar a entrada em todas as linhas de mat. O que você
faria se não soubesse laços aninhados? Provavelmente, você repetiria o for anterior 3
vezes, pois são 3 linhas, modificando apenas o índice da linha:
4) Mas, e se houvesse 10, 100, 1000 linhas? Seria inviável repetir esses laços essa quantidade
de vezes. Assim, podemos generalizar nossa solução utilizando laços aninhados, ou seja,
um laço dentro de outro. Mas como assim, laços aninhados? Por que laços aninhados?
Verifique no código acima que os 3 laços for são praticamente idênticos, mudando apenas
o índice de linha a cada for. Assim, podemos colocar (aninhar) apenas um laço for dentro
de outro mais externo, em que esse laço mais externo vai possuir uma variável de controle,
a iLin que representará o índice de linha, assim:
3
Quando iLin=0, iCol irá variar de 0 a 5 (dentro do corpo do laço) e sairá com o valor 6.
cin>>mat[0][0]; cin>>mat[0][1]; cin>>mat[0][2]; cin>>mat[0][3]; cin>>mat[0][4];
cin>>mat[0][5];
Quando iLin=1, iCol irá variar de 0 a 5 (dentro do corpo do laço) e sairá com o valor 6.
cin>>mat[1][0]; cin>>mat[1][1]; cin>>mat[1][2]; cin>>mat[1][3]; cin>>mat[1][4];
cin>>mat[1][5];
Quando iLin=2, iCol irá variar de 0 a 5 (dentro do corpo do laço) e sairá com o valor 6.
cin>>mat[2][0]; cin>>mat[2][1]; cin>>mat[2][2]; cin>>mat[2][3]; cin>>mat[2][4];
cin>>mat[2][5];
Para passar uma matriz por parâmetro, na chamada a uma função, deve-se escrever apenas seu
nome, como no exemplo abaixo:
entrada(mat);
Exercícios
1. Escreva um trecho de código para entrada na matriz mat do exemplo, que deverá ser de coluna a
coluna.
2. Escreva o corpo da função somaDiagonalPrincipal, em que você deverá somar os elementos
da diagonal principal da matriz m, retornando-a da função.
3. Escreva um programa modularizado que receba do usuário notas de um aluno em 8 disciplinas por
4 bimestres, inserindo-as em uma matriz 9x4. A última linha deverá conter a média por bimestre,
conforme apresentada na figura a seguir. Imprima as médias da seguinte forma: “A média no Xo.
Bimestre foi Y”.