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 aij, 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 |
Exemplo 2 |
Exemplo 3 |
N |
3 |
3 |
2 |
Matriz |
1 2 3 2 3 1 4 5 6 |
1 2 5 2 3 1 -1 1 1 |
2 3 4 6 |
Saída |
-9.00 |
21.00 |
0.00 |
Sugestões:
1. 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.
2. 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.