Escolar Documentos
Profissional Documentos
Cultura Documentos
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:
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.
1
2 3
Coluna
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]<<" - "; } } .......