Advertisement
Guest User

Untitled

a guest
Oct 14th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.78 KB | None | 0 0
  1. program lab2z2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   System.SysUtils;
  7.  
  8. Type
  9.    IntArray = Array of Array of Integer;
  10.  
  11. Const
  12.    MinValueOfN = 2;
  13.    MaxValueOfN = 5;
  14.    MinInArray = -10;
  15.    MaxInArray = 10;
  16.  
  17. function DataCheck(MinLimit, MaxLimit: Integer): Integer;
  18. Var
  19.    IsCorrect: Boolean;
  20.    NumberForCheck: Integer;
  21. begin
  22.    repeat
  23.       isCorrect := true;
  24.       try
  25.          Readln(NumberForCheck);
  26.          if (NumberForCheck < MinLimit) or (NumberForCheck > MaxLimit) then
  27.             begin
  28.                isCorrect := false;
  29.                Writeln('Значение числа должно быть от ', MinLimit,' до ', MaxLimit,', пожалуйста, повторите ввод:');
  30.             end;
  31.       except
  32.          Writeln('Некорректные данные, пожалуйста, введите целое число.');
  33.          isCorrect := false;
  34.       end;
  35.    until isCorrect;
  36.    DataCheck := NumberForCheck;
  37. end;
  38.  
  39. procedure main();
  40. Var
  41.    ArrayA: IntArray;
  42.    k, N, i, j: Integer;
  43. begin
  44.    Writeln('Введите порядок матрицы:');
  45.    N := DataCheck(MinValueOfN, MaxValueOfN);
  46.    SetLength(ArrayA, N);
  47.    for j := 0 to (Length(ArrayA) - 1) do
  48.    begin
  49.       Writeln('Введите ', (j + 1), ' ряд матрицы:');
  50.       for i := 0 to (Length(ArrayA) - 1) do
  51.       begin
  52.          ArrayA[i, j] := DataCheck(MinInArray, MaxInArray);
  53.       end;
  54.    end;
  55.    k := 0;
  56.    for j := 0 to (Length(ArrayA) - 1) do
  57.    for i := 0 to (Length(ArrayA) - 1) do
  58.    begin
  59.       If ArrayA[i, j] <> ArrayA[j, i] then
  60.          k := k + 1;
  61.    end;
  62.    If k > 0 then
  63.          Writeln('Матрица не симметрична')
  64.    else
  65.       Writeln('Матрица симметрична');
  66.    Readln;
  67. end;
  68.  
  69. begin
  70.    main;
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement