Найти сумму модулей элементов массива, расположенных после первого элемента равного 0 - C (СИ)
Формулировка задачи:
Как найти сумму модулей элементов массива, расположенных после первого элемента равного 0?Пожалуйста напишите код,очень буду благодарен!
Решение задачи: «Найти сумму модулей элементов массива, расположенных после первого элемента равного 0»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int mass[5];//Создаем массив на 5 цифр
int flg = 0;//Создаем флажковую переменную, которая будет показывать, когда элемент левее 0
int i; // Переменная счетчика
int sum = 0; // Переменная суммы
for(i = 0; i < 5;i++) {//Запускаем цикл где будем присваивать значение элементам массива
scanf("%d", &mass[i]);//Вводим значение i-йного элемента
if(mass[i] == 0 && flg == 0) {flg = 1;continue;} // Если этот элемент равен 0 то присваиваем нашей флажковой перменной значение 1, то есть дальше элементы будут левее 0
if(flg == 1) sum+=abs(mass[i]); // Если элемент левее 0 то прибавляем к нашей сумме его абсолютное значение.
}
printf("%d", sum); // Выводим это значение
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с массивами и математическими операциями.
- Создание массива на 5 цифр.
- Создание флажковой переменной, которая будет показывать, когда элемент левее 0.
- Создание переменной счетчика.
- Создание переменной суммы.
- Запуск цикла, где будем присваивать значение элементам массива.
- Ввод значения i-го элемента массива с помощью функции scanf.
- Проверка на равенство элемента 0 и флажка. Если условие выполняется, то присваиваем флажку значение 1 и пропускаем итерацию цикла с помощью оператора continue.
- Если флажок равен 1, то прибавляем абсолютное значение элемента к сумме.
- Вывод значения суммы на экран с помощью функции printf.