ВУЗ:
Составители:
Рубрика:
118
элемент, НЕ удовлетворяющий условию (т.е. он будет больше
или равен N), или пока i не выйдет за пределы массива}
while ( T[i] < N ) and (i <= NumDays ) do
i := i + 1;
{Сейчас i указывает на первый элемент, следующий за цепочкой
(или на первый элемент за пределами массива).
Длину цепочки вычисляем как разность между индексами ее
последнего и первого элементов}
LengthChain := i - BeginChain;
{Если вычисленная длина цепочки больше 0, значит, цепочка
в массиве найдена – возвращаем True.
Иначе – цепочки в массиве нет – возвращаем False }
if LengthChain > 0 then FindChain := true
else FindChain := false;
end;
{==========================================}
{Ищем в массиве температур T, содержащем NumDays значений
температур, длину самой длинной цепочки, содержащей
значения ниже N градусов.
Функция возвращает длину самой длинной цепочки.
Если цепочек нет ни одной, то возвращается 0.}
function LongestChain(const T : ArrayTemperatures;
NumDays : Integer;
N : Temperature) : Integer;
var
startFinding : IndexElement; {Индекс начала поиска цепочки}
beginChain : IndexElement; {Индекс начала цепочки}
lengthChain : Integer; {Длина найденной цепочки}
maxLength : Integer; {Длина самой длинной
найденной цепочки}
begin
maxLength := 0; {Цепочек не найдено – длина = 0}
startFinding := 1; {Начинаем искать с начала массива}
Страницы
- « первая
- ‹ предыдущая
- …
- 116
- 117
- 118
- 119
- 120
- …
- следующая ›
- последняя »
