В этой статье я расскажу вам как найти сумму элементов массива, которые размещены после ноля (ну или любого другого символа).
Прежде всего отмечу, что мы не будем использовать никаких сторонних библиотек. Эта задача проста и не трубет особо громоздкого кода.
#include <iostream> using namespace std;
В главной функции программы оприделим наш массив:
int a[10] = {1,-3,5,0,-5,6,8,9,-8,6};
Зарезервируем переменную для суммы:
int summa = 0;
Теперь в цикле будем проходить массив до нахождения необходимого элемента:
for (int i=0; i<10; i++){ if (a[i]==0) { for (i=i+1; i<10; i++) ////обратите внимание, что проход начинается со следующего элемента! Ноль проходить нам ненужно.. summa += (a[i] > 0) ? a[i]: -a[i]; break; } }
После нахождения необходимого элемента добавляем в переменную суммы модули элементов.
Модуль числа можно найти при помощи функции abs(), но это очень просто реализовать при помощи тернарного оператора. Рассмотрим его суть.
(a[i]>0) ? a[i] : -a[i];
Если будет выполнено условие (a[ i ] > 0) т.е. число положительное, то к сумме будет добавлен элемент a[ i ]; если элемент отрицателен (a[ i ] > 0) — необходимо изменить знак ( -a[ i ] ).
После прохода вложенного массива необходимо остановить проход проход главного. Это делается при помощи ключевого слова break.
Теперь осталось только вывести на экран результат:
cout << «Cумма элементов после 0 = » << summa;
У меня после компиляции получилось вот так:
Cумма элементов после 0 = 42
Наша программа готова.