Нахождение суммы модулей элементов массива размещённых после ноля

В этой статье я расскажу вам как найти сумму элементов массива, которые размещены после ноля (ну или любого другого символа).
Прежде всего отмечу, что мы не будем использовать никаких сторонних библиотек. Эта задача проста и не трубет особо громоздкого кода.

#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

Наша программа готова.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий