20.09.2019, 11:48
общий
это ответ
Здравствуйте, Satana666!
[code lang=pascal]var a:array[1..100] of integer;//массив целых чисел размером до 100 элементов
n,i,j,x:integer; //размер массива, счетчики циклов, буфер обмена
begin
randomize;
repeat
write('Введите размер последовательности от 10 до 100 n=');
readln(n);
until n in [10..100];
writeln('Исходный массив');
for i:=1 to n do
begin
a[i]:=-10+random(21);
write(a[i]:4);
end;
writeln;
for i:=1 to n-1 do //от 1 до предпоследнего
for j:=i+1 to n do //от текущего+1 до последнего
//если оба элемента положительные, стоят на нечетных местах
//и первый больше второго
if (a[i]>0)and(a[j]>0)and odd(i)and odd(j)and(a[i]>a[j]) then
begin
//обмениваем местами
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
writeln('Отсортированный массив');
for i:=1 to n do
write(a[i]:4);
end.[/code]