3. Задан одномерный массив из четного количества элементов. Поменяйте местами его «половинки».

Чтобы поменять местами две «половинки» массива, нам достаточно пройтись в цикле только по половине массива, перемещая i-й элемент на позицию n div 2 + i. Т.е. если в массиве 4 элемента, то первый элемент мы должны переместить на позицию 3 (4 / 2 + 1 = 3), а 3-й — на первую. Объявим переменнуые buf, которая будет временно хранить элемент массива при его перемещении, и pol, в которую запишем количество элементов массива, делённое на 2 — n div 2.

var a: array[1..20] of integer;
n, buf, pol: integer;
begin
 write('Количество n =');
 readln(n);
 if n mod 2 <> 0 then
  writeln('n должно быть чётным числом')
 else
 begin
   writeln('Элементы массива');
   for var i := 1 to n do
    read(a[i]);
   pol := n div 2;
   for var i := 1 to pol do
   begin
    buf := a[i];
    a[i] := a[pol + i];
    a[pol + i] := buf;
   end;
   writeln('Преобразованный массив');
   for var i := 1 to n do
    write(a[i], ' ');
 end;
end.
Другие задания