invgsyex.pas 886 B

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