Buscar

Slides 11 - Manipulação de Matriz

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Introdução à Ciência da Computação - Rosely Sanches
*
Matrizes – Parte II
Introdução à Ciência da Computação
Simone Senger Souza
ICMC/USP – São Carlos
Introdução à Ciência da Computação - Rosely Sanches
Introdução à Ciência da Computação - Rosely Sanches
*
*
Exemplos
Cálculo envolvendo duas ou mais matrizes:
Soma de matrizes 
Matriz transposta 
Multiplicação de matrizes
Matrizes e funções
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex2: Soma de Matrizes
Dado matrizes A e B do tipo m por n, sua soma A + B é a matriz m por n computada adicionando os elementos correspondentes: soma[i,j] = A[i,j] + B[i,j]. 
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex2: Soma de Matrizes
matriz-soma-matrizes.c
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex1: Matriz Transposta
A transposta de uma matriz AmXn é a matriz AtnXm em que aij = atji           
 Exemplo:                                       
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex1: Matriz Transposta
matriz-transposta.c                                      
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex3: Multiplicação
Cálculo da multiplicação de uma matriz Amxn e de uma matriz Bnxp
Restrição: número de colunas de A == número de linhas de B
Matriz C resultante  Cmxp
Exemplo:
A3x2 * B2*2 = C3x2
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex3: Multiplicação
matriz-multiplica.c
Introdução à Ciência da Computação - Rosely Sanches
*
*
Matriz e Funções
Assim como ocorre com vetores, quando a matriz é passada como parâmetro para uma função, um ponteiro para o primeiro elemento é de fato passado.
Significa que as alterações na matriz são feitas diretamente no endereço de memória, mesmo que seja usado outro nome de variável na função chamada.
Introdução à Ciência da Computação - Rosely Sanches
*
*
Matriz e Funções
Exemplo:
int main()
{ 
int A[10][10];
 ...
 func(A);
 ...
}
void func (int A[][10])
{ 
 
 ...
 
}
É necessário definir o comprimento da 2a dimensão
Introdução à Ciência da Computação - Rosely Sanches
*
*
Ex: multiplicação - funções
matriz-multiplica-com-funcao.c
Introdução à Ciência da Computação - Rosely Sanches
*
*
Exercícios
Faça uma função MAX que recebe como entrada um inteiro n, uma matriz inteira Anxn e devolve três inteiros: k, l e c. k é o maior elemento de A e é igual a A[l][c]. Se o elemento máximo ocorrer mais de uma vez, indique em l e c qualquer uma das possíveis posições.
Na teoria dos sistemas, define-se como elemento minimax de uma matriz o menor elemento da linha onde se encontra o maior elemento da matriz. Escrever um algoritmo que lê uma matriz 10X10 de inteiros e encontra seu elemento minimax, mostrando também a sua posição.
Introdução à Ciência da Computação - Rosely Sanches
*
*
Exercícios
Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. Dada uma matriz 3X3, verificar se é um quadrado mágico. Exemplo:
 0 7
 5 6
3 10 2
A =

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando