Buscar

Aula 14 - Matrizes Arquivo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Matrizes
Aula 14
Prof. Renan Albuquerque Marks
Faculdade de Computação
Universidade Federal de Mato Grosso do Sul
Algoritmos e Programação I
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 1 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Conteúdo da aula
1 Introdução
2 Definição, declaração e uso
3 Declaração e inicialização simultâneas
4 Exemplo
5 Exercícios
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 2 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introdução
I uma variável composta homogênea pode ter qualquer número de
dimensões
I as matrizes são variáveis compostas homogêneas bidimensionais
I a extensão de variáveis compostas homogêneas para três ou mais
dimensões é simples e imediata
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 3 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introdução
I uma variável composta homogênea pode ter qualquer número de
dimensões
I as matrizes são variáveis compostas homogêneas bidimensionais
I a extensão de variáveis compostas homogêneas para três ou mais
dimensões é simples e imediata
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 3 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introdução
I uma variável composta homogênea pode ter qualquer número de
dimensões
I as matrizes são variáveis compostas homogêneas bidimensionais
I a extensão de variáveis compostas homogêneas para três ou mais
dimensões é simples e imediata
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 3 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na matemática, uma matriz é uma tabela ou um quadro contendo m
linhas e n colunas e usada, entre outros usos, para a resolução de
sistemas de equações lineares e transformações lineares
I uma matriz com m linhas e n colunas é chamada de uma matriz m
por n e denota-se m× n
I os valores m e n são chamados de dimensões, tipo ou ordem da
matriz
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 4 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na matemática, uma matriz é uma tabela ou um quadro contendo m
linhas e n colunas e usada, entre outros usos, para a resolução de
sistemas de equações lineares e transformações lineares
I uma matriz com m linhas e n colunas é chamada de uma matriz m
por n e denota-se m× n
I os valores m e n são chamados de dimensões, tipo ou ordem da
matriz
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 4 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na matemática, uma matriz é uma tabela ou um quadro contendo m
linhas e n colunas e usada, entre outros usos, para a resolução de
sistemas de equações lineares e transformações lineares
I uma matriz com m linhas e n colunas é chamada de uma matriz m
por n e denota-se m× n
I os valores m e n são chamados de dimensões, tipo ou ordem da
matriz
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 4 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I um elemento de uma matriz A que está na linha i e na coluna j é
chamado de elemento i, j ou (i, j)-ésimo elemento de A
I este elemento é denotado por Ai,j ou A(i, j)
I uma matriz onde uma de suas dimensões é igual a 1 é geralmente
chamada de vetor
I uma matriz de dimensões 1× n, contendo uma linha e n colunas, é
chamada de vetor linha ou matriz linha, e uma matriz de dimensões
m× 1, contendo m linhas e uma coluna, é chamada de vetor coluna
ou matriz coluna
I na linguagem C, as matrizes são declaradas similarmente aos vetores
tipo identificador[dimensão1][dimensão2];
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 5 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I um elemento de uma matriz A que está na linha i e na coluna j é
chamado de elemento i, j ou (i, j)-ésimo elemento de A
I este elemento é denotado por Ai,j ou A(i, j)
I uma matriz onde uma de suas dimensões é igual a 1 é geralmente
chamada de vetor
I uma matriz de dimensões 1× n, contendo uma linha e n colunas, é
chamada de vetor linha ou matriz linha, e uma matriz de dimensões
m× 1, contendo m linhas e uma coluna, é chamada de vetor coluna
ou matriz coluna
I na linguagem C, as matrizes são declaradas similarmente aos vetores
tipo identificador[dimensão1][dimensão2];
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 5 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I um elemento de uma matriz A que está na linha i e na coluna j é
chamado de elemento i, j ou (i, j)-ésimo elemento de A
I este elemento é denotado por Ai,j ou A(i, j)
I uma matriz onde uma de suas dimensões é igual a 1 é geralmente
chamada de vetor
I uma matriz de dimensões 1× n, contendo uma linha e n colunas, é
chamada de vetor linha ou matriz linha, e uma matriz de dimensões
m× 1, contendo m linhas e uma coluna, é chamada de vetor coluna
ou matriz coluna
I na linguagem C, as matrizes são declaradas similarmente aos vetores
tipo identificador[dimensão1][dimensão2];
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 5 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I um elemento de uma matriz A que está na linha i e na coluna j é
chamado de elemento i, j ou (i, j)-ésimo elemento de A
I este elemento é denotado por Ai,j ou A(i, j)
I uma matriz onde uma de suas dimensões é igual a 1 é geralmente
chamada de vetor
I uma matriz de dimensões 1× n, contendo uma linha e n colunas, é
chamada de vetor linha ou matriz linha, e uma matriz de dimensões
m× 1, contendo m linhas e uma coluna, é chamada de vetor coluna
ou matriz coluna
I na linguagem C, as matrizes são declaradas similarmente aos vetores
tipo identificador[dimensão1][dimensão2];
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 5 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I um elemento de uma matriz A que está na linha i e na coluna j é
chamado de elemento i, j ou (i, j)-ésimo elemento de A
I este elemento é denotado por Ai,j ou A(i, j)
I uma matriz onde uma de suas dimensões é igual a 1 é geralmente
chamadade vetor
I uma matriz de dimensões 1× n, contendo uma linha e n colunas, é
chamada de vetor linha ou matriz linha, e uma matriz de dimensões
m× 1, contendo m linhas e uma coluna, é chamada de vetor coluna
ou matriz coluna
I na linguagem C, as matrizes são declaradas similarmente aos vetores
tipo identificador[dimensão1][dimensão2];
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 5 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I Exemplo:
int A[20][30];
2
1
0
18
19
0 1 2 28 29A
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 6 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na linguagem C, a primeira linha de uma matriz tem índice 0, a
segunda linha tem índice 1, e assim por diante
I do mesmo modo, a primeira coluna da matriz tem índice 0, a segunda
tem índice 1 e assim por diante
I para referenciar o valor da célula da linha 0 e da coluna 3 da matriz
A , devemos usar o identificador da variável e os índices 0 e 3
envolvidos por colchetes, ou seja, A[0][3]
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 7 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na linguagem C, a primeira linha de uma matriz tem índice 0, a
segunda linha tem índice 1, e assim por diante
I do mesmo modo, a primeira coluna da matriz tem índice 0, a segunda
tem índice 1 e assim por diante
I para referenciar o valor da célula da linha 0 e da coluna 3 da matriz
A , devemos usar o identificador da variável e os índices 0 e 3
envolvidos por colchetes, ou seja, A[0][3]
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 7 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I na linguagem C, a primeira linha de uma matriz tem índice 0, a
segunda linha tem índice 1, e assim por diante
I do mesmo modo, a primeira coluna da matriz tem índice 0, a segunda
tem índice 1 e assim por diante
I para referenciar o valor da célula da linha 0 e da coluna 3 da matriz
A , devemos usar o identificador da variável e os índices 0 e 3
envolvidos por colchetes, ou seja, A[0][3]
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 7 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Definição, declaração e uso
I apesar de visualizarmos uma matriz na forma de uma tabela
bidimensional, essa não é a forma de armazenamento dessa variável
na memória
memoria linha 0 linha 1 linha 19
A[0][0] A[0][29] A[1][0] A[1][29] A[19][0] A[19][29]
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 8 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
I da mesma forma como com os vetores, uma matriz pode ser
inicializada no momento de sua declaração
I variáveis compostas de qualquer dimensão podem ser inicializadas
seguindo as mesmas regras
I para uma matriz, a declaração e inicialização simultâneas deve ser
realizada agrupando os inicializadores de uma dimensão
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2, 1},
{3, 7, 9, 6, 2, 1, 0} };
I a linguagem C possui algumas pequenas regras para declarar e
inicializar matrizes ou variáveis compostas homogêneas de qualquer
dimensão
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 9 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
I da mesma forma como com os vetores, uma matriz pode ser
inicializada no momento de sua declaração
I variáveis compostas de qualquer dimensão podem ser inicializadas
seguindo as mesmas regras
I para uma matriz, a declaração e inicialização simultâneas deve ser
realizada agrupando os inicializadores de uma dimensão
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2, 1},
{3, 7, 9, 6, 2, 1, 0} };
I a linguagem C possui algumas pequenas regras para declarar e
inicializar matrizes ou variáveis compostas homogêneas de qualquer
dimensão
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 9 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
I da mesma forma como com os vetores, uma matriz pode ser
inicializada no momento de sua declaração
I variáveis compostas de qualquer dimensão podem ser inicializadas
seguindo as mesmas regras
I para uma matriz, a declaração e inicialização simultâneas deve ser
realizada agrupando os inicializadores de uma dimensão
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2, 1},
{3, 7, 9, 6, 2, 1, 0} };
I a linguagem C possui algumas pequenas regras para declarar e
inicializar matrizes ou variáveis compostas homogêneas de qualquer
dimensão
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 9 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
I da mesma forma como com os vetores, uma matriz pode ser
inicializada no momento de sua declaração
I variáveis compostas de qualquer dimensão podem ser inicializadas
seguindo as mesmas regras
I para uma matriz, a declaração e inicialização simultâneas deve ser
realizada agrupando os inicializadores de uma dimensão
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2, 1},
{3, 7, 9, 6, 2, 1, 0} };
I a linguagem C possui algumas pequenas regras para declarar e
inicializar matrizes ou variáveis compostas homogêneas de qualquer
dimensão
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 9 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
Regras:
I se um inicializador não é grande o suficiente para inicializar um
variável composta homogênea, então o restante dos elementos serão
inicializados com 0 (zero)
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{3, 7, 9, 6, 2, 1, 0} };
I se um inicializador mais interno não é longo o suficiente para
inicializar uma linha, então o restante dos elementos na linha é
inicializado com 0 (zero)
int A[4][7] = { {0, 1, 1},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2},
{3, 7, 9, 6, 2, 1, 0} };
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 10 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
Regras:
I se um inicializador não é grande o suficiente para inicializar um
variável composta homogênea, então o restante dos elementos serão
inicializados com 0 (zero)
int A[4][7] = { {0, 1, 1, 0, 0, 0, 2},
{3, 7, 9, 6, 2, 1, 0} };
I se um inicializador mais internonão é longo o suficiente para
inicializar uma linha, então o restante dos elementos na linha é
inicializado com 0 (zero)
int A[4][7] = { {0, 1, 1},
{1, 2, 0, 1, 5, 7, 1},
{2, 2, 2, 1, 1, 2},
{3, 7, 9, 6, 2, 1, 0} };
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 10 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Declaração e inicialização simultâneas
Regras:
I as chaves internas, que determinam as inicializações das linhas,
podem ser omitidas. Neste caso, uma vez que o compilador tenha
lido elementos suficientes para preencher uma linha, ele o faz e inicia
o preenchimento da próxima linha
int A[4][7] = {0, 1, 1, 0, 0, 0, 2,
1, 2, 0, 1, 5, 7, 1,
2, 2, 2, 1, 1, 2, 1,
3, 7, 9, 6, 2, 1, 0};
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 11 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exemplo
#include <stdio.h>
int main(void)
{
int i, j;
float soma_c3, soma_l2, B[3][5];
for (i = 0; i < 3; i++)
for (j = 0; j < 5; j++) {
printf("Informe B[%d][%d]: ", i, j);
scanf("%f", &B[i][j]);
}
soma_c3 = 0.0;
for (i = 0; i < 3; i++)
soma_c3 = soma_c3 + B[i][2];
printf("Valor da soma da terceira coluna é %f\n", soma_c3);
soma_l2 = 0.0;
for (j = 0; j < 5; j++)
soma_l2 = soma_l2 + B[1][j];
printf("Valor da soma da segunda linha é %f\n", soma_l2);
return 0;
}
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 12 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
1. Dadas duas matrizes de números inteiros A e B, de dimensões m× n,
com 1 6 m,n 6 100, fazer um programa que calcule a matriz
Cm×n = A+ B.
#include <stdio.h>
#define MAX 100
int main(void)
{
int m, n, i, j, A[MAX][MAX], B[MAX][MAX], C[MAX][MAX];
printf("Informe as dimensões (m, n) das matrizes: ");
scanf("%d%d", &m, &n);
for (i = 0; i < m; i++)
for (j = 0; j < n; j++) {
printf("Informe A[%2d][%2d]: ", i, j);
scanf("%d", &A[i][j]);
}
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 13 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
for (i = 0; i < m; i++)
for (j = 0; j < n; j++) {
printf("Informe B[%2d][%2d]: ", i, j);
scanf("%d", &B[i][j]);
}
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
C[i][j] = A[i][j] + B[i][j];
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++)
printf("%2d ", C[i][j]);
printf("\n");
}
return 0;
}
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 14 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
2. Dada uma matriz de números inteiros Am×n, com 1 6 m,n 6 100,
imprimir o número de linhas e o número de colunas nulas da matriz.
Exemplo:
Se a matriz A tem m = 4 linhas, n = 4 colunas e conteúdo
1 0 2 3
4 0 5 6
0 0 0 0
0 0 0 0

então A tem 2 linhas nulas e 1 coluna nula.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 15 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
3. Dizemos que uma matriz de números inteiros An×n é uma matriz de
permutação se em cada linha e em cada coluna houver n− 1
elementos nulos e um único elemento 1.
Exemplo:
A matriz

0 1 0 0
0 0 1 0
1 0 0 0
0 0 0 1
 é de permutação, mas a matriz
 2 −1 0−1 2 0
0 0 1
 não é de permutação.
Dada uma matriz de números inteiros An×n, com 1 6 n 6 100,
verificar se A é de permutação.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 16 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
4. Dizemos que uma matriz quadrada de números inteiros distintos é um
quadrado mágico se a soma dos elementos de cada linha, a soma
dos elementos de cada coluna e a soma dos elementos da diagonal
principal e secundária são todas iguais.
Exemplo:
A matriz  8 0 74 5 6
3 10 2

é um quadrado mágico.
Dada uma matriz quadrada de números inteiros An×n, com
1 6 n 6 100, verificar se A é um quadrado mágico.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 17 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
5. (a) Imprimir as n primeiras linhas do triângulo de Pascal, com 1 6 n 6 100.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...
(b) Imprimir as n primeiras linhas do triângulo de Pascal usando apenas
um vetor.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 18 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
6. Faça um programa que, dada uma matriz de números reais Am×n,
determine At. Suponha que 1 6 m,n 6 100.
7. Dada uma matriz de números reais A com m linhas e n colunas,
1 6 m,n 6 100, e um vetor de números reais v com n elementos,
determinar o produto de A por v.
8. Um vetor de números reais x com n elementos é apresentado como
resultado de um sistema de equações lineares Ax = b, cujos
coeficientes são representados em uma matriz de números reais Am×n
e o lados direitos das equações em um vetor de números reais b de m
elementos. Dados A, x e b, verificar se o vetor x é realmente solução
do sistema Ax = b, supondo que 1 6 m,n 6 100.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 19 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
6. Faça um programa que, dada uma matriz de números reais Am×n,
determine At. Suponha que 1 6 m,n 6 100.
7. Dada uma matriz de números reais A com m linhas e n colunas,
1 6 m,n 6 100, e um vetor de números reais v com n elementos,
determinar o produto de A por v.
8. Um vetor de números reais x com n elementos é apresentado como
resultado de um sistema de equações lineares Ax = b, cujos
coeficientes são representados em uma matriz de números reais Am×n
e o lados direitos das equações em um vetor de números reais b de m
elementos. Dados A, x e b, verificar se o vetor x é realmente solução
do sistema Ax = b, supondo que 1 6 m,n 6 100.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 19 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
6. Faça um programa que, dada uma matriz de números reais Am×n,
determine At. Suponha que 1 6 m,n 6 100.
7. Dada uma matriz de números reais A com m linhas e n colunas,
1 6 m,n 6 100, e um vetor de números reais v com n elementos,
determinar o produto de A por v.
8. Um vetor de números reais x com n elementos é apresentado como
resultado de um sistema de equações lineares Ax = b, cujos
coeficientes são representados em uma matriz de números reais Am×n
e o lados direitos das equações em um vetor de números reais b de m
elementos. Dados A, x e b, verificar se o vetor x é realmente solução
do sistema Ax = b, supondo que 1 6 m,n 6 100.
Prof. Renan A. Marks (FACOM)Matrizes Algoritmos e Programação I 19 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
9. Dadas duas matrizes de números reais Am×n e Bn×p, com
1 6 m,n, p 6 100, calcular o produto de A por B.
10. Um jogo de palavras cruzadas pode ser representado por uma matriz
Am×n onde cada posição da matriz corresponde a um quadrado do
jogo, sendo que 0 indica um quadrado branco e −1 indica um
quadrado preto. Indicar em uma dada matriz Am×n de 0 e −1, com
1 6 m,n 6 100, as posições que são início de palavras horizontais
e/ou verticais nos quadrados correspondentes (substituindo os zeros),
considerando que uma palavra deve ter pelo menos duas letras. Para
isso, numere consecutivamente tais posições.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 20 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
9. Dadas duas matrizes de números reais Am×n e Bn×p, com
1 6 m,n, p 6 100, calcular o produto de A por B.
10. Um jogo de palavras cruzadas pode ser representado por uma matriz
Am×n onde cada posição da matriz corresponde a um quadrado do
jogo, sendo que 0 indica um quadrado branco e −1 indica um
quadrado preto. Indicar em uma dada matriz Am×n de 0 e −1, com
1 6 m,n 6 100, as posições que são início de palavras horizontais
e/ou verticais nos quadrados correspondentes (substituindo os zeros),
considerando que uma palavra deve ter pelo menos duas letras. Para
isso, numere consecutivamente tais posições.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 20 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
10. Exemplo:
Dada a matriz
0 −1 0 −1 −1 0 −1 0
0 0 0 0 −1 0 0 0
0 0 −1 −1 0 0 −1 0
−1 0 0 0 0 −1 0 0
0 0 −1 0 0 0 −1 −1

a saída deverá ser
1 −1 2 −1 −1 3 −1 4
5 6 0 0 −1 7 0 0
8 0 −1 −1 9 0 −1 0
−1 10 0 11 0 −1 12 0
13 0 −1 14 0 0 −1 −1
 .
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 21 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
11. Os elementos aij de uma matriz de números inteiros An×n
representam os custos de transporte da cidade i para a cidade j.
Dados uma matriz An×n, com 1 6 n 6 100, um número inteiro
m > 0 representando a quantidade de itinerários, um número k
representando o número de cidades em cada um dos itinerários,
calcular o custo total para cada itinerário.
Exemplo:
Dado
A =

4 1 2 3
5 2 1 400
2 1 3 8
7 1 2 5

m = 1, k = 8 e o itinerário 0 3 1 3 3 2 1 0, o custo total desse itinerário
é
a03+a31+a13+a33+a32+a21+a10 = 3+1+400+5+2+1+5 = 417.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 22 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
12. Dados um caça-palavra, representado por uma matriz A de letras de
dimensão m× n, com 1 6 m,n 6 50, e uma lista de k > 0 palavras,
encontrar a localização (linha e coluna) no caça-palavras em que cada
uma das palavras pode ser encontrada.
a a t g d k h
q y u s z j l l c
b m a m o r a w e
p f x v n te q
o
o
o
o
c
c
c
g
g
g
j
j
j
u a
a
a
a
u
c
u
t
t
t
u
d
d
d
k
k
k
h
h
h
q
q
q
y
y
y
s
s
s
s
z
z
z
z
l
l
l
l
c
c
b
b
b
m
m
m
o
o
o
o
r
r
r
a
a
a
w
e
e p
a
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 23 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
12. Uma palavra é encontrada no caça-palavras se uma seqüência
ininterrupta de letras na tabela coincide com a palavra. Considere que
as letras são apenas as minúsculas. A busca por uma palavra deve ser
feita em qualquer das oito direções no caça-palavras.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 24 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. Considere n cidades numeradas de 0 a n− 1 que estão interligadas
por uma série de estradas de mão única, com 1 6 n 6 100. As
ligações entre as cidades são representadas pelos elementos de uma
matriz quadrada An×n, cujos elementos aij assumem o valor 1 ou 0,
conforme exista ou não estrada direta que saia da cidade i e chegue à
cidade j. Assim, os elementos da coluna j indicam as estradas que
chegam à cidade j. Por convenção aii = 1.
A figura a seguir mostra um exemplo para n = 4.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 25 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13.
A
1 1 0
1 1 0
00
0
1 1
1 1 1
0
0
1
1
1
2
2
3
0 1 2 3
3
1
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 26 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof.Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizar o roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
13. (a) Dado k, determinar quantas estradas saem e quantas chegam à cidade
k.
(b) A qual das cidades chega o maior número de estradas?
(c) Dado k, verificar se todas as ligações diretas entre a cidade k e outras
são de mão dupla.
(d) Relacionar as cidades que possuem saídas diretas para a cidade k.
(e) Relacionar, se existirem:
(i) As cidades isoladas, isto é, as que não têm ligação com nenhuma outra;
(ii) As cidades das quais não há saída, apesar de haver entrada;
(iii) As cidades das quais há saída sem haver entrada.
(f) Dada uma seqüência de m inteiros cujos valores estão entre 0 e n− 1,
verificar se é possível realizaro roteiro correspondente. No exemplo
dado, o roteiro representado pela seqüência 2 0 1 2 3, com m = 5, é
impossível.
(g) Dados k e p, determinar se é possível ir da cidade k para a cidade p
pelas estradas existentes. Você consegue encontrar o menor caminho
entre as duas cidades?
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 27 / 28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Exercícios
14. Dada uma matriz de números inteiros Am×n, com 1 6 m,n 6 100,
verificar se existem elementos repetidos em A.
Prof. Renan A. Marks (FACOM) Matrizes Algoritmos e Programação I 28 / 28
	Introdução
	Definição, declaração e uso
	Declaração e inicialização simultâneas
	Exemplo
	Exercícios

Continue navegando