program MatrixTest; uses MatrixUnit; var A: TDblMatrix; B: TDblMatrix; procedure WriteMatrix(A: TDblMatrix; AName: String); var n, m, i, j: Integer; begin WriteLn(AName, ' = '); MatSize(A, n,m); for i := 0 to n-1 do begin for j := 0 to m-1 do Write(A[i, j]:10:3); WriteLn; end; WriteLn; end; begin SetLength(A, 3, 3); A[0, 0] := 1.0; A[0, 1] := 3.0; A[0, 2] := 4.0; A[1, 0] := -1.0; A[1, 1] := 2.0; A[1, 2] := -3.0; A[2, 0] := 0.0; A[2, 1] := -1.0; A[2, 2] := 1.0; WriteMatrix(A, 'A'); SetLength(B, 3, 3); B[0, 0] := -1.0; B[0, 1] := -3.0; B[0, 2] := 1.0; B[1, 0] := +1.0; B[1, 1] := 2.0; B[1, 2] := -3.0; B[2, 0] := 0.0; B[2, 1] := -2.0; B[2, 2] := 2.0; WriteMatrix(B, 'B'); WriteMatrix(A*B, 'A*B'); WriteMatrix(MatInverse(A), 'inv(A)'); WriteMatrix(A*MatInverse(A), 'A*inv(A)'); WriteLn('det(A) = '); WriteLn(MatDeterminant(A):10:3); WriteLn; WriteLn('Press ENTER to quit...'); ReadLn; end.