Тема Паскаль: необходимо поменять местами половинки массива(54231-31254,это к примеру)

1

Ответы и объяснения

2013-10-06T12:07:14+00:00
Const n=?; {Кол-во элементов в массиве, написать число вместо "?"}
Var a,b:array[1..n] of integer;
x,k,i,j:integer;
Begin
 writeln('Init massive:');
 for i:=1 to n do
   begin
    readln(x); {а лучше написать read(x); и вводить числа через пробел одной строкой, красивее будет}
    a[i]:=x;
   end;
 k:=n div 2;
 if (n mod 2)<>0 then k:=k+1;
 j:=1;
 for i:=(k+1) to n do
   begin
    b[j]:=a[i];
    j:=j+1;
   end;
 if (n mod 2)<>0 then
   begin
    b[k]:=a[k];
    k:=k-1;
    j:=j+1;
   end;
 for i:=1 to k do
   begin
    b[j]:=a[i];
    j:=j+1;
   end;
 for i:=1 to n do write(b[i],' ');
End.