Advertisement
VadimThink

code

Oct 5th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.12 KB | None | 0 0
  1. program project1;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.     System.SysUtils;
  9. type
  10.     ToWorkArr = array of array of Integer;
  11.  
  12. function check(min,max:Integer; msg,error, integererror:String):Integer;
  13. var
  14.     IsCorrect:Boolean;
  15.    numb:Integer;
  16. begin
  17.     IsCorrect:= false;
  18.    Writeln(msg);
  19.    repeat
  20.     try
  21.         readln(numb);
  22.         if((numb > min) and (numb < max)) then
  23.             IsCorrect:= true
  24.         else
  25.             Writeln(error);
  26.       except
  27.         Writeln(integererror);
  28.       end;
  29.    until (IsCorrect);
  30. check:=numb;
  31. end;
  32.  
  33.  
  34. procedure FillArrKeyboard(var MyArr: ToWorkArr; LengthOfArr: Integer);
  35.  
  36. const
  37. MinInt=0;
  38. MaxInt=100;
  39.  
  40. var
  41. i, j: Integer;
  42. CorrectFilling: Boolean;
  43.  
  44. begin
  45.     for i := 0 to LengthOfArr do
  46.         for j := 0 to LengthOfArr do
  47.             begin
  48.                 WriteLn('Please enter elements of array (values from ', MinInt, ' to ', MaxInt, ').');
  49.                 repeat
  50.                     CorrectFilling := False;
  51.                Write('A[', i, ', ', j, '] = ');
  52.                try
  53.                         ReadLn(MyArr[i, j]);
  54.                         CorrectFilling := True;
  55.                     except
  56.                     WriteLn('Error! Please enter a numerical value with a range from ', MinInt, ' to ', MaxInt, '.');
  57.                     end;
  58.                 until (CorrectFilling);
  59.             end;
  60. end;
  61. var
  62.     ArrA, ArrB : ToWorkArr;
  63.    n, i, j, a : Integer;
  64.  
  65.  
  66. begin
  67.    n:=check(2,5,'Vvedite kolvo strok i stolbcov kvadratnoi matrici','Error','integererror');
  68.    n:=n-1;
  69.    FillArrKeyboard(ArrA,n);
  70.    //SetLength(ArrA, n, n);
  71.    //SetLength(ArrB,n, n);
  72.  
  73.    //for i:=0 to n do
  74.    //   for j:=0 to n do
  75.    //   begin
  76.    //       Write('A[',i,',',j,']=');
  77.    //      Readln(ArrA[i,j]);
  78.    //   end;
  79.    for i:=0 to n do
  80.    begin
  81.     for j:=0 to n do
  82.         Write('  ', ArrA[i,j]);
  83.       writeln;
  84.    end;
  85.    for i := 0 to (n div 2) do
  86.     for j := 0 to n do
  87.             ArrB[((n div 2 + 1) + i),j] := ArrA[i,j];   //Это первый
  88.    //for i := 0 to n do
  89.      // for j := 0 to n do
  90.           //  ArrB[n-i,n-j] := ArrA[i,j];
  91.    a := 0;
  92.    for i := (n div 2 + 1) to n do
  93.    begin
  94.     for j := n downto 0 do
  95.             ArrB[a,n-j] := ArrA[i,j];
  96.       inc(a);
  97.    end;
  98.    Writeln('#10#13Finish');
  99.    for i:=0 to n do
  100.    begin
  101.     for j:=0 to n do
  102.         Write('  ', ArrB[i,j]);
  103.       writeln;
  104.    end;
  105.    readln;
  106. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement