Дан массив из 50 элементов, определить начало и конец последовательности максимально возрастающих чисел — Pascal(Паскаль)

uses crt;
const n=50;
var a:array[1..n] of word;
    i,j,k,i1,ip,max:byte;
begin
clrscr;
randomize;
writeln('Массив:');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i],' ');
 end;
writeln;
writeln;
i:=2;max:=0;
while i<n do
if a[i]>=a[i-1] then
  begin
   j:=i;k:=0;
   while (a[j]>=a[j-1])and(j<n) do
    begin
     j:=j+1;
     k:=k+1;
    end;
   if k>max then
     begin
      max:=k;
      i1:=i-1;
      ip:=j-1;
     end;
   i:=i+k+1;
  end
else i:=i+1;
writeln('Начало=',i1,'  конец=',ip);
writeln('Наибольшая цепочка подряд идущих элементов:');
for i:=i1 to ip do
write(a[i],' ');
readln
end.

Leave a Comment

3 + 6 =