Transcript AEDI-estruturasdedados2
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Profa. Mercedes Gonzales Márquez
Matrizes – Estrutura composta homogênea bidimensional
Uma matriz representa um conjunto de vetores de mesmo tamanho.
Uma matriz possui m linhas e n colunas: – as linhas são numeradas de 1 a m – as colunas são numeradas de 1 a n Uma matriz pode armazenar (linhas * colunas) elementos de um mesmo tipo
2 3 4 1 Uma matriz de
m
linhas e
n
colunas 1 2 3 4 n-1 n m
Estrutura composta homogênea multidimensional
- Há casos em que uma matriz é insuficiente para armazenar um conjunto de dados para um determinado programa. Nestes casos, é necessário definir uma estrutura de
d
-dimensões ( Estrutura composta homogênea
multi
dimensional).
- Declaração geral para
d
dimensões: Tipo primitivo : variável[num_elem_ [num_elem_seg_dim]...[num_elem_d_dim] prim.dim]
Estrutura composta homogênea multidimensional
Exemplos - tridimensional: inteiro: matriz[4][4][4]
Estrutura composta homogênea multidimensional
Estrutura composta homogênea multidimensional
Estrutura composta homogênea multidimensional
Estrutura Composta homogênea multidimensional
Para acessar um vetor, o inserimos em um único laço de repetição, fazendo com que haja variação em seu índice.
Como em uma estrutura multidimensional temos mais de um índice, faz-se necessária a utilização de mais laços de repetição, geralmente em mesmo número do que o número de dimensões da estrutura.
As estruturas multidimensionais mais utilizadas são as bidimensionais (Matrizes).
Algumas Matrizes Especiais
Matriz diagonal Nesta matriz apenas os elementos da diagonal principal ou secundária são significativos. Exemplos:
Algumas Matrizes Especiais
Matriz triangular Nesse tipo de matriz, apenas os elementos da diagonal principal ou secundária e os abaixo (ou acima) possuem valores significativos.
Algumas Matrizes Especiais
Matriz transposta É a matriz que resulta da troca de linhas por colunas em uma determinada matriz .
A
1 0 2 3 3 2 4 6 5
A T
1 3 5 0 2 4 2 3 6 Uma matriz simétrica é toda a matriz que é igual à sua transposta.
Matrizes Especiais
Matriz simétrica e anti-simétrica Uma matriz é dita simétrica quando para todo I e J temos:
M[I, J] = M[J, I]
Uma matriz é dita anti-simétrica quando para todo I e J temos:
M[I, J] = - M[J, I]
Matrizes Exercícios
(1) Construa um algoritmo que efetue a leitura de duas matrizes inteiras de dimensão 5x5, calcule e imprima a soma delas.
Algoritmo
Matrizes
(2) Elabore um algoritmo que dada uma matriz 7 x 7 calcule a sua matriz transposta e ainda diga se ela é simétrica ou não.
Algoritmo
Matrizes
(3) Elabore um algoritmo que leia duas matrizes inteiras A e B de dimensão 3x3 e calcule em uma matriz R, a multiplicação delas.
Matrizes
Lembre-se que:
A A
11 21
A
31
A A A
12 22 32
A A
13
A
23 33 *
B B
11 21
B
31
B B B
12 22 32
B B
13 23
B
33
R R
11
R
21 31
R R R
12 22 32
R
11
A
11 *
B
11
A
12 *
B
21
A
13 *
B
31
R
12
A
*
B
12
A
12 *
B
22
A
*
B
32
R
13
R
21
A
11 *
B
13
A
12 *
B
23
A
13 *
B
33
A
21 *
B
11
A
22 *
B
21
A
23 *
B
31
R R
13
R
23 33 ...
R
32
R
33
A
31 *
B
12
A
32 *
B
22
A
33 *
B
32
A
31 *
B
13
A
32 *
B
23
A
33 *
B
33
Matrizes
Algoritmo
Matrizes
(4) Faça um algoritmo que leia uma matriz M de 10x10 Troque a seguir (a) A linha 2 com a linha 8 (b) A coluna 4 com a coluna 10 (c) A diagonal principal com a diagonal secundária (d) A linha 5 com a coluna 10
Matrizes
Algoritmo
Matrizes
(5) Faça um algoritmo que leia uma matriz M de dimensão 6x6 e um valor A, multiplique a matriz pelo valor A, coloque os valores da matriz multiplicados por A em um vetor de 36 elementos e imprima o vetor.
Algoritmo
Matrizes
(6) Escreva um algoritmo que leia um número inteiro A e uma matriz de 30x30 de inteiros. Também deve contar quantos valores iguais a A estão na matriz e criar uma matriz X contendo todos os elementos diferentes de A.
Nas outras posições deve se colocar o valor 0.
Matrizes
Algoritmo
Matrizes
(7) Escreva um algoritmo que leia uma matriz M de 12 x 13 e divide todos os 13 elementos de cada uma das linhas de M pelo maior elemento em módulo daquela linha.
Algoritmo
Matrizes
(8) Escreva um algoritmo que leia uma matriz M de 5 x 5 e crie dois vetores SL[5] e SC[5] que contenham, respectivamente, as somas das linhas e das colunas de M.
Escreva a matriz e os vetores criados.
Algoritmo
Matrizes
(9) Faça um algoritmo que leia uma matriz 20x15 de inteiros e calcule a soma das linhas pares da matriz.
Algoritmo
Matrizes
(10) Na teoria de sistemas, define-se como elemento minimax de uma matriz o menor elemento da linha onde se encontra o maior elemento da matriz. Escreva um algoritmo que leia uma matriz 10x10 de inteiros e encontre seu elemento minimax, mostrando também sua posição.
Matrizes
Algoritmo (11) Faça um algoritmo que leia uma matriz 12x12 de inteiros, calcule e escreva a soma da área hachurada na letra a e o maior elemento da área hachurada na letra b abaixo: Algoritmo (12) Faça um algoritmo que leia uma matriz 12 x 12 e calcule e escreva: a. o menor elemento e a sua posição (índices) da área hachurada; b. a média dos elementos da área hachurada. Algoritmo (13) Uma certa fábrica produziu dois tipos de motores M1 e M2 nos meses de janeiro, ...,dezembro e o número de motores produzidos foi registrado na tabela a seguir: O setor de controle de vendas tem uma tabela do custo e do lucro (em unidades monétarias) obtidos com cada motor. (13) Faça um algoritmo que, a partir da produção mensal de motores M1 e M2 e seus respectivos custos e lucros, calcule o custo e lucro em cada um dos meses e o custo e lucro anuais. Algoritmo Resolver os exercícios propostos sobre vetores e matrizes do livro de Harry Farrer.Matrizes
Matrizes
Matrizes
Matrizes
Matrizes
Matrizes
Matrizes
Matrizes