Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program lab2_3;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- MassType = array of array of double;
- procedure MatrixIterations(var Matrix: MassType; StrokStart, StolbStart, StrokEnd, StolbEnd: integer);
- var
- MnojStr : double;
- i, j: integer;
- begin
- for i := StrokStart to StrokEnd do
- begin
- MnojStr := (Matrix[i, StolbStart] / Matrix[StolbStart, StolbStart]) * -1;
- for j := StolbStart to StolbEnd do
- Matrix[i, j] := Matrix[i, j] + Matrix[StolbStart, j] * MnojStr;
- end;
- end;
- procedure MatrixOutput(const Matrix: MassType; Strok, Stolb: integer);
- var
- i, j: integer;
- begin
- for i := 0 to Strok do
- begin
- for j := 0 to Stolb do
- write(Matrix[i, j]:6:3, ' ');
- writeln;
- end;
- writeln;
- end;
- function ReadFile(var Matrix: MassType; Path : string; StrokEnd, StolbEnd: integer): MassType;
- var
- FileIn: TextFile;
- i, j: integer;
- begin
- AssignFile(FileIn, Path);
- reset(FileIn);
- while (not EOF(FileIN)) do
- for i := 0 to StrokEnd do
- for j := 0 to StolbEnd do
- read(FileIn, Matrix[i, j]);
- CloseFile(FileIn);
- end;
- procedure WriteFile(const Matrix: MassType; Path : string; StrokEnd, StolbEnd: integer);
- var
- FileOut: TextFile;
- i, j: integer;
- begin
- AssignFile(FileOut, Path);
- rewrite(FileOut);
- for i := 0 to StrokEnd do
- begin
- for j := 0 to StolbEnd do
- begin
- write(FileOut, Matrix[i, j]:6:3);
- write(FileOut, ' ');
- end;
- writeln(FileOut, ' ');
- end;
- CloseFile(FileOut);
- end;
- var
- FileIn, FileOut: TextFile;
- Matrix: MassType;
- i, j, StrokStart, StolbStart: integer;
- const
- StolbEnd = 4;
- StrokEnd = 3;
- NumOfIterations = 2;
- begin
- SetLength(Matrix, StrokEnd + 1, StolbEnd + 1);
- ReadFile(Matrix, 'FileIN.txt', StrokEnd, StolbEnd);
- MatrixOutput(Matrix, StrokEnd, StolbEnd);
- StrokStart := 1;
- StolbStart := 0;
- for i := 0 to NumOfIterations do
- begin
- MatrixIterations(Matrix, StrokStart, StolbStart, StrokEnd, StolbEnd);
- inc(StrokStart);
- inc(StolbStart);
- end;
- MatrixOutput(Matrix, StrokEnd, StolbEnd);
- WriteFile(Matrix, 'FileOut.txt', StrokEnd, StolbEnd);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement