MC102: Algoritmos e Programação de Computadores - Turmas K e L

Zanoni Dias (PED)

 

Oitavo Exercício de Laboratório

 

 

Inversa

 

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.

 

Dizemos que uma matriz quadrada A é inversível quando possui determinante diferente de zero. Assim podemos definir a matriz quadrada A-1 de ordem n como sendo a inversa da matriz A. Denotaremos por a-1ij o elemento da linha i e coluna j desta matriz. O valor de a-1ij pode ser obtido pela fórmula:

 

a-1ij = (-1)i+j Det(Aji) / Det(A)

 

onde Det(x) é o valor do determinante da matriz x.

 

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 verificar se esta matriz admite inversa. Em caso positivo imprima a matriz inversa usando duas casas decimais por elemento (use formatação ":6:2"). Em caso negativo imprima a mensagem:

”Matriz nao inversivel”

 

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

-1.44 -0.33  0.78

0.89  0.67 -0.56

0.22 -0.33  0.11

0.10  0.14 -0.62

-0.14  0.29  0.43

0.24 -0.14 -0.05

Matriz nao inversivel

 

 

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é segunda-feira, dia 01 de janeiro de 2001, 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.