Задание:
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целочисленные значение значения от -20 до 20 – сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (температура опускалась ниже нуля). Гарантируется, что хотя бы один день в ноябре была отрицательная температура.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
const N=30;
var a: array [1..N] of integer;
i, j, max: integer;
begin
for i:=1 to N do readln(a[i]);
...
end.
Решение:
Недостающий фрагмент:
max:=-30;
for i:=1 to N do
if (A[i] < 0) and (A[i] > max) then
max:=A[i];
Writeln(max;
Разбор программы:
* В переменной max программа будет сохранять максимальное значение температуры, когда были заморозки. Изначально присвоим значение меньше -20, чтобы было с чем сравнивать.
* Запускаем цикл (for) от одного до 30 элементов, в котором последовательно проверяем истинность двух условий; Если температура была меньше нуля, и если температура больше предыдущего значения переменной max. Если условие выполняется, в max сохраняем новое значение.
* По окончанию цикла выводим значение переменной max на экран.