home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / MISC / MATH / CLA20.ZIP / MATRDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-02-08  |  1.6 KB  |  76 lines

  1. program MatrDemo;
  2.  
  3. { --------------------------------------------------------------------------
  4.                                   MATRDEMO.PAS
  5.  
  6.     ---> A  sample that shows how to use the MATRICES unit to calculate
  7.          inverse matrices, determinants and triangular form of matrices.
  8.  
  9.          (C) 1990, 1992 by Lenimar N. Andrade (CCENDM03@BRUFPB.BITNET)
  10.  
  11.   -------------------------------------------------------------------------- }
  12.  
  13. {$E+,N+}
  14.  
  15. {$M 65520, 0, 652000}
  16.  
  17. uses
  18.   Matrices, { where the procedures or functions are defined }
  19.   BasFPTC;  { where the matrix type is defined              }
  20.  
  21. var
  22.   mat: matrix;
  23.   i, j, option: byte;
  24.   inv: boolean;
  25.  
  26. begin
  27.   Writeln;
  28.   Writeln('SHOWING SIMPLE MATRICES OPERATIONS');
  29.   Writeln;
  30.   Write('Which is matrix''s order? ');
  31.   Readln(mat.m);
  32.   mat.n := mat.m;
  33.  
  34.   Writeln;
  35.   Writeln('Enter the elements of matrix M:');
  36.   Writeln;
  37.   for i := 1 to mat.m do
  38.   begin
  39.     Write('Row ', i, ' : ');
  40.     for j := 1 to mat.n do
  41.       Read(mat.a[i, j])
  42.   end;
  43.  
  44.   Writeln;
  45.   Writeln('Determinant of M = ', det(mat):10:3);
  46.  
  47.   Writeln;
  48.   InverseMatrix(mat, inv);
  49.   if not inv then
  50.     Writeln('The matrix has no inverse')
  51.   else
  52.   begin
  53.     Writeln('Inverse matrix of M :');
  54.     Writeln;
  55.     for i := 1 to mat.m do
  56.     begin
  57.       for j := 1 to mat.n do
  58.         Write(mat.a[i, j]:8:3);
  59.       Writeln
  60.     end;
  61.   end;
  62.  
  63.   Writeln;
  64.   option := 1; { or 2, or 3 }
  65.   TriangularMatrix(mat, option);
  66.   Writeln('A triangular form of M :');
  67.   Writeln;
  68.   for i := 1 to mat.m do
  69.   begin
  70.     for j := 1 to mat.n do
  71.       Write(mat.a[i, j]:8:3);
  72.     Writeln
  73.   end;
  74.  
  75. end.
  76.