invgsyex.pas 836 B

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