MC102: Algoritmos e Programação de Computadores - Turmas K e L
Zanoni Dias (PED)
Sétimo Exercício de Laboratório
Determinante
Seja A uma matriz quadrada de ordem n, onde denotaremos cada elemento desta matriz por a ij, onde i é o
número da linha e j é o número da coluna. Denotaremos por Aij a matriz quadrada de ordem (n -1) obtida a
partir de A eliminando-se a linha i e a coluna j. Assim podemos definir o determinante da matriz A de ordem
n, fixando-se uma linha qualquer:
Det(A) = a11,
se n = 1
Det(A) = (-1)i+1ai1Det(Ai1) + (-1)i+2ai2Det(Ai2) + ... + (-1)i+nainDet(Ain),
para n > 1, onde i é uma linha qualquer da matriz A
Alternativamente podemos definir o determinante desta matriz fixando-se uma coluna qualquer:
Det(A) = a11,
se n = 1
Det(A) = (-1)1+ja1jDet(A1j) + (-1)2+ja2jDet(A2j) + ... + (-1)n+janjDet(Anj),
para n > 1, onde j é uma coluna qualquer da matriz A
O Programa
Escreva um programa que leia um inteiro n (1  n  10) e n2 números reais dispostos em n linhas, cada linha
com n números, que representarão os elementos de uma matriz de ordem n. Seu programa deve calcular o
determinante da matriz usando o método descrito acima (você pode escolher entre fixar uma linha ou uma
coluna). Você deve exibir o resultado com duas casas decimais (use formatação ":4:2").
Exemplos
Exemplo 1
N
Matriz
Saída
3
1 2 3
2 3 1
4 5 6
-9.00
Exemplo 2
3
1 2 5
2 3 1
-1 1 1
21.00
Exemplo 3
2
2 3
4 6
0.00
Sugestões:
1.
2.
Escreva uma função recursiva que recebe uma matriz M e um inteiro n representando a ordem da matriz e
calcula recursivamente o valor do determinante de M.
Escreva também uma rotina que recebe uma matriz M, e três inteiros que representam a ordem n da
matriz, uma linha e uma coluna e retorna uma matriz de ordem (n - 1) obtida a partir de M eliminando-se
a linha e a coluna especificadas.
Entrega
O programa é estritamente individual e deverá ser entregue até domingo, dia 17 de dezembro, através da Web
Page do curso (www.ic.unicamp.br/~zanoni/mc102). Maiores detalhes serão discutidos em sala de aula e no
laboratório.
Download

doc - IC-Unicamp