Anda di halaman 1dari 19

Algoritmos e Lgica de Programao

Matriz
Viviane Reis de Carvalho (viviane.fonseca@prof.una.br)

Introduo
Uma matriz pode ser definida como um conjunto de variveis de mesmo tipo e identificadas pelo mesmo nome. Essas variveis so diferenciadas por meio da especificao de suas posies dentro dessa estrutura.

Introduo
C++ permite a declarao de:
Matrizes unidimensionais (mais conhecidas como vetores, visto no slide anterior) Matrizes bidimensionais e multidimensionais

Obs.: o limite de dimenses fica por conta da quantidade de recurso disponvel pelo compilador. Entretanto, as matrizes mais utilizadas possuem duas dimenses.

Declarao de Matriz
Tipo_dos_dados nome_varivel [dimenso 1] [dimenso 2] ... [dimenso n] Onde:
Tipo_dos_dados: o tipo de dados que poder ser armazenado nome_varivel: o nome da varivel do tipo matriz [dimenso1] [dimenso2]: representam as possveis dimenses da matriz

Declarao de Matriz
Exemplo:

int materia [4][10];


Coluna Linha

Interpretao: Temos 4 matrias, cada uma com 10 alunos.

Matriz
int materia [4][10];
Coluna Linha
ndice
0 1 2 3 4 5 6 7 8 9

0
1 2 3

Matriz
Da mesma maneira como ocorre com os vetores, os ndices comeam sempre em 0 (zero). Sendo assim, com a declarao anterior criouse uma varivel chamada materia contendo 4 linhas (0 a 3) com 10 colunas (0 a 9), capazes de armazenar nmeros inteiros.

Atribuindo valores a Matriz


MAT [1][4] = 5 ;
Atribui o valor 5 posio referente linha 1 (2 linha) coluna 4 (5 coluna) da matriz MAT
ndice 0 1 0 1 2 3 4 5

Atribuindo valores a Matriz


MAT1 [3][2] = 'D' ;
Atribui a letra D posio referente linha 3 (4 linha) coluna 2 (3 coluna) da matriz MAT1
ndice 0 0 1 2

1
2 3

Preenchendo uma Matriz


Para ler dados do teclado e atribuir a uma matriz, supondo que a mesma tenha sido declarada como int MAT [7][3] pode-se executar os comandos a seguir:
for (i=0; i<7; i++) { for (j=0; j<3; j++) { cin>> MAT[i][j] ; } }
Linha

Coluna

Preenchendo uma Matriz


Como a matriz possui sete linhas: o for externo deve variar de 0 a 6 (percorrendo, assim, as sete linhas da matriz) e o for interno deve variar de 0 a 2 (percorrendo, assim, as trs colunas da matriz)

Mostrando os elementos da Matriz


Para mostrar os valores armazenados dentro de uma matriz, supondo que tenha sido declarada como float X[10][6], pode-se executar os comandos a seguir:
for (i=0; i<10; i++) { for (j=0; j<6; j++) { cout<< X[i][j] ; } }

Mostrando os elementos da Matriz


Como a matriz possui dez linhas: o for externo deve variar de 0 a 9 (percorrendo, assim, as dez linhas da matriz) e o for interno deve variar de 0 a 5 (percorrendo, assim, as seis colunas da matriz)

Resumindo
Sempre vamos precisar de dois for (estrutura de repetio) para percorrer uma matriz:
for ( i = 0; i < linhas; i++ ) { for ( j = 0; j < colunas; { .... } }

j++ )

Exemplo
Observe o exemplo a seguir. Nele a matriz mtrx preenchida, sequencialmente por linhas, com os nmeros de 1 a 200.

........... int mtrx [20][10],i,j,cont=1; //Carregando a Matriz for (i=0;i<20;i++) { for (j=0;j<10;j++) { mtrx[i][j]=cont; cont++; } } //Impresso da Matriz for (i=0;i<20;i++) { cout<<"\n"; for (j=0;j<10;j++) { cout<<mtrx[i][j]<<" - "; } } .........

Exemplo Tela

Exerccio 1
Observe o programa a seguir. O que o programa imprime na tela? Quais so os valores que sero impressos para a matriz?

..... int t, i, M[3][4]; for (t=0;t<3;t++) { for (i=0;i<4;i++) { M[t][i] = (t*4)+i+1; } } for (t=0;t<3;t++) { cout<<"\n"; for (i=0;i<4;i++) { cout<<M[t][i]<<" - "; } } .......

Anda mungkin juga menyukai