Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- line = array of Integer;
- matrix = array of line;
- function getMax(mass: matrix): line;
- var
- Max: Integer;
- i, j: Integer;
- maxArr: line;
- begin
- setLength(maxArr, length(mass));
- for j := 0 to High(mass) do
- begin
- Max := mass[0,j];
- for i := 1 to High(mass) do
- begin
- if mass[i,j] > Max then
- Max := mass[i,j];
- end;
- maxArr[j] := Max;
- end;
- result := maxArr;
- end;
- function getMin(mass: matrix): line;
- var
- Min: Integer;
- i, j: integer;
- minArr: line;
- begin
- setLength(minArr, length(mass));
- for i := 0 to High(mass) do
- begin
- Min := mass[i,0];
- for j := 1 to High(mass) do
- begin
- if mass[i,j] < Min then
- Min := mass[i, j];
- end;
- minArr[i] := Min;
- end;
- result := minArr;
- end;
- procedure getPoint(mass: matrix; minArr, maxArr: line);
- var
- res, i, j: Integer;
- begin
- AssignFile(Output,'D:\Labs\labs 2-3\result\result.txt');
- rewrite(Output);
- Writeln('Программа находит седловые точки матрицы.');
- Writeln('');
- res := 0;
- for i := 0 to High(mass) do
- for j := 0 to High(mass) do
- if (( mass[i, j] = minArr[i] ) and ( mass[i, j] = maxArr[j] )) then
- begin
- Writeln('Седловой точкой заданной матрицы является число ', mass[i, j],' в ',i + 1,'-ой стороке ',j + 1,'-ого столбца.');
- res := res + 1
- end;
- if res = 0 then
- begin
- Writeln('В данной матрице седловых точек нет.');
- end;
- close(Output);
- end;
- function getMatrix(): matrix;
- var
- input: TextFile;
- size, i, j: Integer;
- mass: matrix;
- begin
- AssignFile(input, 'D:\Labs\labs 2-3\text\task.txt');
- Reset(input);
- Read(input, size);
- SetLength(mass, size, size);
- for i := 0 to High(mass) do
- for j := 0 to High(mass) do
- Read(input, mass[i][j]);
- closeFile(input);
- result := mass;
- end;
- procedure Main();
- var
- Mass: matrix;
- begin
- Mass := getMatrix();
- getPoint(Mass, getMin(Mass), getMax(Mass));
- end;
- begin
- Main;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement