uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,j,k,p1,p2,max,x: integer;
begin
clrscr;
repeat
write('Размер массива до ',nmax,' n=');
readln (n);
until n in [1..nmax];
writeln('Введите ',n,' элементов массива, целых чисел');
for i:=1 to n do
readln (a[i]);
{Поиск позиции и длины максимальной цепи}
k:=0; max:=0; {Первоначальные значения}
for i:=1 to n do
if a[i]>0 then inc (k) {Если положительное - наращиваем счётчик}
else {Иначе}
begin {Если счётчик перерос максимальный - перезапоминаем его и позицию}
if k>max then
begin
max:= k;
p2:=i-1;
p1:=p2-k+1;
k:=0; {Снова включаем счётчик}
end;
end;
writeln; {Выводим результат}
writeln('Максимальное число положительных подряд=',max);
writeln('Последовательность');
for i:=p1 to p2 do
write (a[i],' ');
writeln;
for i:=1 to max do
begin
x:=a[p1];
for j:=p1 to n-1 do
a[j]:=a[j+1];
a[n]:=x;
end;
writeln('Перестановка последовательности в конец массива:');
for i:=1 to n do
write(a[i],' ');
readln
end.