задача- из вектора х(х1,х2,...,xn) получить вектор y(x1,x3,x5,...,x6,x4,x2) компоненты которого перенумерованы также от 1 до n.

ну как всегда-мысли,идеи,пожелания. [jnz dtlm ghjcnfz pflfxf((
const n=20;
var mas1,mas2:array[1..n] of integer;
a,b:integer;
begin
b:=1;
for a:=1 to n do
begin
mas1[a]:=a;
end;
for a:=1 to n do
begin
if (mas1[a] mod 2 = 0) then begin
mas2[b]:=mas1[a];
inc(b);
end;
end;
for a:=1 to n do
begin
if (mas1[n+1-a] mod 2 = 1) then begin
mas2[b]:=mas1[n+1-a];
inc(b);
end;
end;
for a:=1 to n do
begin
write(mas2[a],' ');
end;
readln;
end.
const
n = 10;
x: array[1 .. n] of integer = (
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
);
var
y: array[1 .. n] of integer;
i, evens, odds: integer;
begin
for i := 1 to n do write(x[i]:5);
writeln;
evens := n; odds := 1;
for i := 1 to n do
if odd(i) then begin
{ если текущий индекс массива X нечетный - то записываем число спереди (слева направо) в массив Y }
y[odds] := x[i]; inc(odds);
end
else begin
{ если текущий индекс массива X четный - то число пишется в массив Y справа налево }
y[evens] := x[i]; dec(evens);
end;
for i := 1 to n do write(y[i]:5);
writeln;
end.
i:=1; //для заполнения y с начала
j:=n; //для заполнения y с конца
for k:=1 to n do //проходим по исходному массиву
begin
if (k mod 2 <> 0) then //если повторение цикла нечетное
begin
y[i]:=x[k]; //то выполняем присваивание по i
inc(i); //и увеличиваем i на 1
end
else //а если четное
begin
y[j]:=x[k]; //то присваиваем по j
dec(j); //и уменьшаем j на 1
end;
end;
const n=20; {Кол-во элементов каждого из массивов}
var mas1,mas2:array[1..n] of integer;
a,b:integer;
begin
b:=1; {<=переменная-счётчик для добавления элементов во 2ой массив}
for a:=1 to n do {<=Заполнение первого массива числами от 1 до 20}
begin
mas1[a]:=a;
end;
for a:=1 to n do
begin
if (mas1[a] mod 2 = 0) then begin {<=проверка элемента на чётность и добавление его в ячейку массива 2 с индексом b}
mas2[b]:=mas1[a];
inc(b); {<=увеличиваем счётчик на 1}
end;
end;
for a:=1 to n do
begin
if (mas1[n+1-a] mod 2 = 1) then begin{<=проходим массив с конца,т.к. нечётные эл-ты нужно расположить по убыванию.Проверка на НЕчётность}
mas2[b]:=mas1[n+1-a];
inc(b);
end;
end;
for a:=1 to n do
begin
write(mas2[a],' ');
end;
readln;
end.
program;
uses crt;
var a:array[1..n] of integer; i,n,j,k:integer;
BEGIN
clrscr;
write('n='); readln(n);
randomize;
for i:=1 to n do begin
a[i]=random(10)-5;
write(a[i],' ');
end;writeln;
for i:=1 to n do begin
if(iMOD2<>0)then write(a[i],' ');end;
for i:=n downto 1 do begin
if(iMOD2=0)then write(a[i],' ');end;
readln;
END.