Найти сумму положительных элементов последовательности - C (СИ)
Формулировка задачи:
10. Найти сумму положительных элементов последовательности d1, d2, ..., d40, расположенных до первого нулевого элемента, заменить этой суммой минимальный элемент массива.
Решение задачи: «Найти сумму положительных элементов последовательности»
textual
Листинг программы
int i_min = 0; int total = 0; bool flag = false; for ( int i = 0; i < 40; i ++ ) { if ( mas[i_min] < mas[i] ) i_min = i; if ( mas[i] == 0 ) flag = true; if ( !flag && mas[i] > 0 ) total += mas[i]; } mas[i_min] = total;
Объяснение кода листинга программы
Код выполняет следующие действия:
- Инициализирует переменные:
i_min
- указывает на минимальный элемент в последовательности.total
- переменная для хранения суммы положительных элементов.flag
- флаг для определения, была ли встречена нулевая величина.
- Проходит по всем элементам последовательности
mas
с индексами от 0 до 39. - Если текущий элемент
mas[i]
меньше, чем элемент с индексомi_min
, то обновляет значениеi_min
. - Если текущий элемент равен 0, то устанавливает значение
flag
вtrue
. - Если
flag
равноfalse
и текущий элемент больше 0, то добавляет его кtotal
. - После завершения цикла, последний положительный элемент заменяется на
total
. - Значение
i_min
обновляется на последний индекс положительного элемента. - Значение
total
присваивается элементу с индексомi_min
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д