zadah46.PAS

{* Задача 46 *}

Unit ZADAH46;
Interface
Implementation
Begin
 writeln('В массиве размера N (N- четное) поменять местами первую и вторую половину массива ');
End.

Program zadah46;

Uses zadah46.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Type {* Типы переменных *}
  mas = Array[1..100] Of integer;
Var {* В работе нам потребуются переменные: *}
  i  : integer;
  j  : integer;
  k  : integer;
  n  : integer;
  f1 : integer;
  f2 : integer;
  l  : integer;
  a  : integer;
  b  : integer;
  c  : integer;
  d  : real;
  g  : real;
  ar : mas;
  br : mas;
  cr : mas;
  dr : mas;
Begin
  clrscr; {* Стираем всё с экрана *}
  write('Введите длину массива A: ');
  readln(a);
  Begin
    randomize;
    For i := 1 To a Do {* Цикл для i => [1 .. a] *}
      ar[i] := random(100);
  End;
  For i := 1 To a Do {* Переменная i увеличивается с 1 до a *}
    write(ar[i] : 3, '|');
  writeln; {* Вывод пустой строки *}
  If a Mod 20 Then
    c := (a - 1) Div 2
  Else c := a Div 2;
    If a Mod 20 Then
      For i := 1 To c Do {* Переменная i увеличивается с 1 до c *}
      Begin
        k := ar[i];
        ar[i] := ar[i + c + 1];
        ar[i + c + 1] := k;
      End;
  If a Mod 2 = 0 Then
    For i := 1 To c Do {* Увеличиваем i от 1 до c с шагом 1 *}
    Begin
      k := ar[i];
      ar[i] := ar[i + c];
      ar[i + c] := k;
    End;
  For i := 1 To a Do {* Увеличиваем i от 1 до a с шагом 1 *}
    write(ar[i] : 3, '|');
End.