Написать программу, определяющую сумму элементов массива, находящихся в массиве до первого элемента со значением 0. на языке с++

rentbox rentbox    1   21.09.2019 12:30    1

Ответы
mikc2 mikc2  08.10.2020 07:07
#include <iostream>
using namespace std;

int main() {
    int n = 10, s = 0, i;
    int a[n];
    srand(time(NULL));
    cout<<"array:"<<endl;
    for (i=0; i<n; i++)
    {
      a[i]=rand() % 40-20;
      cout<<a[i]<<" ";
    }
    cout<<endl;
    i = 0;
    while ((i<n) && (a[i] != 0)) {
    s += a[i];
    i++;
    }
    if (i == n) cout << "В массиве нет элементов = 0";
    else cout << "s = " << s;
    system("pause");
    return(0);
}

Пример:
12 -9 17 15 0 13 -10 19 18 15
s = 35
ПОКАЗАТЬ ОТВЕТЫ
ThisIsIlya ThisIsIlya  08.10.2020 07:07
#include <iostream>
#include <array>
#include <numeric>
using namespace std;

const size_t N = 10;

int main()
{
    array<int, N> a = { 1, 5, 9, 6, 3, 0, 1, 4, -2, 4 };
    cout << accumulate(a.cbegin(), find(a.cbegin(), a.cend(), 0), 0);   
}
интересно на паскале короче бы вышло?
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика