Determinante da matriz em Pascal

Program DETERMINANTE_DA_MATRIZ;
uses crt;
var
A : array [1..3, 1..3] of integer;
i, j, ordemDaMatriz, determinante : integer;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     {
      Este programa tem por finalidade obter a ordem da
      matriz, preenchê-la e imprimir o seu determinante.
     }

     writeln;
     writeln(' CALCULO DO DETERMINANTE DA MATRIZ');
     writeln;


     // Obtendo a ordem da matriz A.
     ordemDaMatriz := 0;
     while ( (ordemDaMatriz < 1) or (ordemDaMatriz > 3) ) do begin
           write(' >Ordem da Matriz [1,3]: ');
           readln(ordemDaMatriz);
     end;

     writeln;
     writeln;


     // Preenchendo a matriz A.
     for i := 1 to ordemDaMatriz do begin
         for j := 1 to ordemDaMatriz do begin
             write('  A[', i ,',', j ,']: ');
             read( A[i,j] );
         end;
     end;

     writeln;


     // Exibindo a matriz de forma alinhada.
     for i := 1 to ordemDaMatriz do begin
         for j := 1 to ordemDaMatriz do
             write( A[i,j] :4 );
         writeln;
     end;

     writeln;


     // Calculando o determinante.
     if (ordemDaMatriz = 1) then
        determinante := A[1,1];

     if (ordemDaMatriz = 2) then
        determinante := (A[1,1] * A[2,2]) - (A[1,2] * A[2,1]);

     if (ordemDaMatriz = 3) then
        determinante :=
        (A[1,1] * A[2,2] * A[3,3]) + (A[1,2] * A[2,3] * A[3,1]) +
        (A[1,3] * A[2,1] * A[3,2]) - (A[1,3] * A[2,2] * A[3,1]) -
        (A[1,1] * A[2,3] * A[3,2]) - (A[1,2] * A[2,1] * A[3,3]);


     write(' >Determinante da Matriz: ', determinante);

readkey;
end.



Artigos relacionados em Pascal:



Feito no Dev-Pascal 1.9.2 | Executável