invgsyex.pas 795 B

1234567891011121314151617181920212223242526272829
  1. {
  2. }
  3. program invgsyex;
  4. uses typ, iom, inv;
  5. const n = 4;
  6. var i, j, term : ArbInt;
  7. A : array[1..n,1..n] of ArbFloat;
  8. begin
  9. assign(input, paramstr(1)); reset(input);
  10. assign(output, paramstr(2)); rewrite(output);
  11. writeln('program results invgsyex');
  12. { Read bottomleft part of matrix A }
  13. for i:=1 to n do iomrev(input, A[i,1], i);
  14. { print matrix A }
  15. writeln; writeln('A =');
  16. for i:=1 to n do for j:=1 to i-1 do A[j,i]:=A[i,j];
  17. iomwrm(output, A[1,1], n, n, n, numdig);
  18. { calculate inverse of matrix A}
  19. invgsy(n, n, A[1,1], term);
  20. writeln; writeln('term=', term:2);
  21. if term=1 then
  22. { print inverse of matrix A }
  23. begin
  24. writeln; writeln('inverse of A =');
  25. iomwrm(output, A[1,1], n, n, n, numdig);
  26. end; {term=1}
  27. close(input); close(output)
  28. end.