Vous êtes sur la page 1sur 21

Programao Estruturada

MDULO 6
Matrizes

Prof. Adriano Firmo de Paiva


Adriano.paiva@prof.una.br

Matrizes
Arranjos multidimensionais de dados

Matrizes em Algoritmo
DECLARE nome nome[dim1,dim2,, [dim1,dim2,,dimn dimn] ] tipoDados Dim1 = quantidade de elementos da 1 dimenso Dim2 = quantidade de elementos da 2 dimenso Dim3 = quantidade de elementos da 3 dimenso DimN = quantidade de elementos da n-sima dimenso Ex.: DECLARE matriz[3,3] matriz[3,3] NUMRICO Declara uma matriz 3x3, para armazenar valores inteiros
Coordenadas 1 1 2 3 30 50 21 2 60 48 55 3 13 74 34

Acessando e atribuindo valores a uma matriz


Acessando um elemento de uma matriz:
x matriz[1,1] y matriz[1,2]

Atribuindo valores a uma matriz


matriz[1,2] 90 matriz[2,1] x

Preenchendo uma matriz


PARA i 1 AT 3 FAA INCIO PARA j 1 AT 3 FAA INCIO ESCREVA Digite o nmero da linha: , i e coluna: , j LEIA matriz[i, j] FIM FIM

Mostrando uma matriz


PARA i 1 AT 3 FAA INCIO PARA j 1 AT 3 FAA INCIO ESCREVA matriz[i, j] FIM FIM

Exemplo
1. Faa um programa que leia as 3 notas de 10
alunos e em seguida imprima todas essas notas.
Nota 1 Nota 2 Nota 3

Aluno 1

87

95,5

98

Aluno 2

59

65

71

...

...

...

...

Aluno 10

91

96

99

Exemplo
ALGORITMO DECLARE NOTA[10,3], I, J NUMRICO PARA I 1 AT 10 FAA INCIO ESCREVA Entre com as notas do aluno , I PARA J 1 AT 3 FAA INCIO ESCREVA Entre com a , J, a. nota LEIA NOTA[I, J] FIM FIM PARA I 1 AT 10 FAA INCIO ESCREVA Notas do aluno , I PARA J 1 AT 3 FAA INCIO ESCREVA NOTA[I, J] FIM FIM
FIM_ALGORITMO

Exemplo
2. Faa um programa que leia e imprima uma matriz de inteiros
2 x 3. Em seguida, solicite ao usurio que informe um valor qualquer. qualquer . Verifique se o nmero encontraencontra-se na matriz, e caso afirmativo, imprima suas coordenadas coordenadas. .

Matrizes em C/C++
tipoDados nome[dim1][dim2][dimn]; Ex.: int matriz[3][3]; Declara uma matriz 3x3, para armazenar valores inteiros

Coordenadas 0 0 1 2 30 50 21 1 60 48 55 2 13 74 34

Acessando e atribuindo valores a um vetor


Acessando um elemento de uma matriz:
x = matriz[0][1]; y = matriz[1][2];

Atribuindo valores a uma matriz


matriz[0][2] = 90; matriz[2][1] = x;

Exemplo
1. Faa um programa que leia as 3 notas de 10
alunos e em seguida imprima todas essas notas.
Nota 1 Nota 2 Nota 3

Aluno 1

87

95,5

98

Aluno 2

59

65

71

...

...

...

...

Aluno 10

91

96

99

Exemplo
ALGORITMO DECLARE NOTA[10,3], I, J NUMRICO PARA I 1 AT 10 FAA INCIO ESCREVA Entre com as notas do aluno , I PARA J 1 AT 3 FAA INCIO ESCREVA Entre com a , J, a. nota LEIA NOTA[I, J] FIM FIM PARA I 1 AT 10 FAA INCIO ESCREVA Notas do aluno , I PARA J 1 AT 3 FAA INCIO ESCREVA NOTA[I, J] FIM FIM
FIM_ALGORITMO

Exemplo
#include <iostream <iostream.h> .h> int main( main(int argc, argc, char *argv[]) argv[]) { float notas[10][3]; int a, n; for (a = 0; a < 10; a++) { cout << "Entre com as notas do aluno " << a+1 << " "\ \n"; for (n = 0; n < 3; n++) { cout << "Entre com a " << n+1 << "a. nota: "; cin >> notas[a][n]; } } for (a = 0; a < 10; a++) { cout << "Notas do aluno " << a+1 << " "\ \n"; for (n = 0; n < 3; n++) { cout << notas[a][n] << " "; } cout << " "\ \n"; } system("PAUSE");

Exemplo
2. Faa um programa que leia e imprima uma matriz de inteiros
2 x 3. Em seguida, solicite ao usurio que informe um valor qualquer. qualquer . Verifique se o nmero encontraencontra-se na matriz, e caso afirmativo, imprima suas coordenadas coordenadas. .

Exemplo
ALGORITMO PARA l 1 AT 2 FAA DECLARE matriz[2,3], l, c, cont 0, n NUMRICO INCIO PARA l 1 AT 2 FAA PARA c 1 AT 3 INCIO INCIO PARA c 1 AT 3 SE matriz[l, c] = n ENTAO INICIO INCIO ESCREVA O elemento foi ESCREVA Entre com o elemento [, l, ,, c, ] encontrado na coordenada [, l ,", ,c ,"] LEIA matriz[l, c] cont cont + 1 FIM FIM FIM FIM FIM ESCREVA Imprimindo a matriz ... PARA l 1 AT 2 FAA INCIO SE cont = 0 ENTO PARA c 1 AT 3 ESCREVA "Numero nao encontrado INCIO ESCREVA matriz[l, c] FIM_ALGORITMO FIM FIM ESCREVA Digite um numero LEIA n

Exemplo
#include <iostream <iostream.h> .h> cout << "Digite um numero "; cin >> n; for (l = 0; l < 2; l++) { int main( main(int argc, argc, char *argv[]) argv[]) for (c = 0; c < 3; c++) { { int matriz[2][3], l, c, cont = 0, n; if (matriz[l][c] == n) for (l = 0; l < 2; l++) { { cout << " "\ \nO elemento foi for (c = 0; c < 3; c++) encontrado na coordenada [" << l << ", " << c << "]"; { cont++; cont ++; cout << "Entre com o elemento [" << l << ", " << c } << "]: "; cin >> matriz[l][c]; } } cout << " "\ \nImprimindo a matriz... \n"; for (l = 0; l < 2; l++) { for (c = 0; c < 3; c++) { cout << matriz[l][c] << " "; } cout << " "\ \n"; } } } if (cont == 0) cout << "Numero nao encontrado "; system("PAUSE"); return EXIT_SUCCESS; }

Exerccio: Fazer algoritmo em portugol


1. Faa um programa que leia uma matriz 4 x 4 de nmeros inteiros. Solicite ao usurio que informe uma linha. Imprima todos os elementos desta linha. 2. Faa um programa que leia uma matriz 4 x 4 de nmeros inteiros. Solicite ao usurio que informe uma coluna. Imprima todos os elementos desta coluna.

3. Faa um programa que carregue uma matriz 2 x 3, calcule e mostre: a) o maior elemento da matriz e sua respectiva posio, ou seja, linha e coluna; b) b) o menor elemento da matriz e sua respectiva posio, ou seja, linha e coluna. 4. Faa um programa que carregue uma matriz 3 x 5 com nmeros inteiros, calcule e mostre a quantidade de elementos entre 15 e 20.

5. Faa um programa que leia uma matriz 3 x 3, e solicite ao usurio que escolha uma das seguintes opes: 1- Operao com coluna 2- Operao com linha Se o usurio escolher a opo 1, faa: - Solicite ao usurio que informe o nmero da coluna (de 1 a 3) - Imprima a coluna solicitada - Imprima a soma dos elementos desta coluna Se o usurio escolher a opo 2, faa: - Solicite ao usurio que informe o nmero da linha (de 1 a 3) - Imprima a linha solicitada - Imprima a soma dos elementos desta linha

6. Faa um programa que carregue uma matriz 3 x 3 com nmeros reais e receba um valor, digitado pelo usurio. Calcule e mostre a matriz resultante da multiplicao do nmero digitado por cada elemento da matriz. 7. Faa um programa que leia uma matriz 4 x 4 e imprima um vetor contendo o maior elemento de cada linha.

Vous aimerez peut-être aussi