Сообщение от
Яр
Не помню паскаль, давно было.
на плюсах на скорую руку это можно реализовать вроде так:
Код:
#include <iostream>
[skip]
выведет: 1 8 11 12 13 20 25
На паскале то же самое:
Код:
const
N = 20;
A : array [1..N] of integer = (2,5,8,3,1,8,11,12,13,20,25,7,2,6,11,56,59,60,59,55);
type
pol = record
nach : integer;
kol : integer;
end;
var
first, second : pol;
i : integer;
f : boolean;
begin
first.nach := 0;
first.kol := 0;
second.nach := 0;
second.kol := 0;
f := false;
for i := 1 to N-1 do begin
if A[i] <= A[i+1]
then begin
if not f then begin
first.nach := i;
f := true;
inc(first.kol);
continue;
end;
inc(first.kol);
end
else begin
if first.kol > second.kol
then second := first;
f := false;
first.kol := 0;
end;
end;
for i := second.nach to second.nach+second.kol do
Write(A[i],' ');
WriteLn;
ReadLn;
end.
выведет: 1 8 11 12 13 20 25
Социальные закладки