3)Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом — все отрицательные (элементы, равные нулю, считать положительными).
uses crt;
const
n=20;
var
m:array[1..n] of integer;
i,pro,sum,buf,a,z:integer;
ind:boolean;
Begin
randomize;
for i:=1 to n do m[i]:=random(10)-5;
writeln('Your array is :');
write('[ ');
for i:=1 to n do write(m[i],' ');
write(']');
pro:=1;
for i:=1 to n do
Begin
if i mod 2 = 0 then pro:=pro*m[i];
end;
a:=0;z:=0;sum:=0;
for i:=1 to n do if m[i]=0 then
Begin
a:=i;
break;
end;
for i:=n downto 1 do if m[i]=0 then
Begin
z:=i;
break;
end;
for i:=a to z do if (a<>0) and (z<>0) then sum:=sum+m[i];
repeat;
ind:=true;
for i:=1 to n-1 do if m[i]<m[i+1] then
Begin
buf:=m[i];
m[i]:=m[i+1];
m[i+1]:=buf;
ind:=false;
end;
until ind;
writeln;
if a<>z then writeln('Proizvedenie parnih elementov =',pro,' Summa elementov massiva megdu 0 =',sum)
else writeln('Proizvedenie parnih elementov =',pro,' Summu elementov massiva megdu 0 nevozmogno sos4itat tak kak v massive kolli4estvo 0 menshe 2x');
writeln;
writeln('After sorting array is :');
write('[ ');
for i:=1 to n do write(m[i],' ');
write(']');
end.