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.