Даны целые числа
. Если в данной последовательности ни одно четное число не расположено после нечетного, то поменять в последовательности порядок следования отрицательных членов на обратный, иначе аналогичное действие выполнить над положительными членами последовательности.
Код программы .
program l5labamoi;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i,j,count,n:LongInt;
a:array [1..100] of LongInt;
boll,boll1:boolean;
procedure swap(i,j:LongInt);
var t :LongInt ;
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
begin
Writeln('vvedite kol-va elementov massiva');
Readln(n);
writeln(' ');
Writeln('vvedite elementi masssiva');
boll:=False;
boll1:=False;
for i:=1 to n do
begin
read(a[i]);
if Odd(a[i-1])and (not Odd(a[i])) then
inc(count);
end;
if count=0 then
begin
I:=1;
J:=n ;
while (i<j) and (not boll) do
begin
while a[i]>0 do
i:=i+1 ;
while a[j]>0 do
j:=j-1;
if (i=j)or(i>j) then boll:=True;
if (not boll) then
swap(i,j);
i:=i+1 ;
j:=j-1;
end;
end
else
begin
i:=1;
j:=n;
while (i<j) and (not boll1) do
begin
while a[i]<0 do
i:=i+1;
while a[j]<0 do
j:=j-1;
if (i=j) or (i>j) then boll1:=True;
if (not boll1) then
swap (i,j);
i:=i+1;
j:=j-1;
end;
end;
Writeln ( ' vot novi massiv:');
for i:=1 to n do
write(a[i],' ');
readln;
readln;
end.
Тесты программы .


