Top.Mail.Ru

Для решения этой задачи можно использовать следующий алгоритм:

1. Создать переменные для хранения количества дней с отрицательной температурой (count_neg), суммы положительных температур (sum_pos), общего количества дней (count_days) и суммы температур (sum_temp). Инициализировать их значением 0.

2. Создать список (list_temp) для хранения всех введенных температур.

3. Считать последовательность температур и добавить каждую температуру в список list_temp.

4. Пройти по всем элементам в списке list_temp:

4.1. Увеличить count_days на 1.

4.2. Проверить, если температура (temp) меньше 0, то увеличить count_neg на 1.

4.3. Проверить, если температура больше 0, то увеличить sum_pos на temp.

4.4. Увеличить sum_temp на temp.

5. Вычислить среднюю температуру месяца (avg_temp) как сумму температур / кол-во дней.

6. Создать переменные для хранения минимального расстояния до средней температуры (min_diff) и дня, когда температура ближе всего подходила к среднемесячной (closest_day). Инициализировать min_diff значением, большим, чем возможное расстояние между температурами.

7. Пройти по всем элементам в списке list_temp:

7.1. Вычислить разницу между температурой (temp) и средней температурой месяца.

7.2. Если полученная разница меньше min_diff, то обновить min_diff этим значением и записать номер текущего дня (closest_day) как индекс элемента в списке list_temp.

8. Вывести значения count_neg, sum_pos, avg_temp и closest_day.

   
[metform form_id="1136"]