Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project3;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- Matrix = array of array of Integer;
- const
- MinN = 2;
- MinInt = Low(Integer);
- MaxInt = High(Integer);
- CHECK1 = 'Ошибка! Введите число от ';
- CHECK2 = ' до ';
- TASK = 'Задача: Дана квадратная матрица А порядка N. Проверить, является ли данная матрица симметричной.';
- InputN = 'Введите N (порядок квадратной матрицы)';
- InputElement = 'Введите элементы матрицы';
- InputTrue = 'Введенная матрица симметрична';
- InputFalse = 'Введенная матрица несимметрична';
- function Check (const Min, Max: Integer): Integer;
- var
- Num : Integer;
- isCorrect: Boolean;
- begin
- repeat
- try
- ReadLn(Num);
- if ((Num < Min) or (Num > Max)) then
- begin
- Writeln (CHECK1, Min , CHECK2, Max);
- IsCorrect := False;
- end
- else
- IsCorrect := True;
- except
- begin
- Writeln (CHECK1, Min , CHECK2, Max);
- IsCorrect := False;
- end;
- end
- until IsCorrect;
- Check := Num;
- end;
- procedure Main;
- var
- Matr : Matrix;
- N, k, i, m : Integer;
- begin
- Writeln (TASK, InputN);
- N := Check (MinN, MaxInt);
- Setlength (Matr, N, N);
- Writeln (InputElement);
- for i := 0 to (N-1) do
- begin
- for k := 0 to (N-1) do
- begin
- Writeln('Введите А[',(i+1),'][',(k+1),']');
- Matr[i][k] := Check (MinInt, MaxInt);
- end;
- end;
- m:=0;
- for i := 0 to (N-1) do
- begin
- for k := 0 to (N-1) do
- begin
- if Matr[i][k] <> Matr[k][i] then
- m:=1;
- end;
- end;
- if m=0 then
- Writeln (InputTrue)
- else
- Writeln (InputFalse);
- Readln;
- end;
- begin
- Main;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement