Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0...

0 голосов
101 просмотров

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 10 включительно – показатели среднего отклонения от нормальной работы прибора за день, зафиксированные в течение месяца. Написать на языке Паскаль алгоритм подсчета максимального количества подряд идущих дней, в которые прибор работал исправно (отклонение от нормальной работы прибора за день было равно 0), при условии, что хотя бы один день прибор работал исправно. Исходные данные объявлены так, как показано ниже. Запрещается использовать необъявленные переменные, но разрешается не использовать часть из них.

const n = 30;
var a : array [1 .. n] of integer;
I, k1, k2 : integer;

begin for i := 1 to n do readln ( a [ i ] );

end.


Информатика (40 баллов) | 101 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const n = 30;
var a : array [1 .. n] of integer; 
i, k1, k2 : integer; 

begin
for i := 1 to n do read(a[i]);
k1:=0; k2:=0;
for i:=1 to n do
 if (a[i]>0) then
  begin
  if k1>k2 then k2:=k1;
  k1:=0;
  end
 else k1:=k1+1;
if k1>k2 then k2:=k1;
writeln('max = ',k2);
end.

Пример:
3 9 7 9 2 9 1 7 5 8 9 9 0 0 0 0 1 1 0 0 7 4 3 3 7 5 1 0 4 3 
max = 4

БОГ (194k баллов)
10,984,878 вопросов
13,471,016 ответов
8,518,553 комментариев
4,909,216 пользователей