Tutorialspoint.dev

Array sum in C++ STL

In C++, we can quickly find array sum using accumulate()

// C++ program to demonstrate working of accumulate()
#include <iostream> 
#include <numeric>     
using namespace std;
   
// User defined function that returns sum of
// arr[] using accumulate() library function.
int arraySum(int a[], int n) 
{
    int initial_sum  = 0; 
    return accumulate(a, a+n, initial_sum);
}
   
int main() 
{
    int a[] = {5 , 10 , 15} ;
    int n = sizeof(a)/sizeof(a[0]);
    cout << arraySum(a, n);
    return 0;
}

Output:

30

Sum of vector

// C++ program to demonstrate working of accumulate()
#include <iostream> 
#include <vector> 
#include <numeric>     
using namespace std;
   
// User defined function that returns sum of
// arr[] using accumulate() library function.
int arraySum(vector<int> &v) 
{
    int initial_sum  = 0; 
    return accumulate(v.begin(), v.end(), initial_sum);
}
   
int main() 
{
    vector<int> v{5 , 10 , 15} ;
    cout << arraySum(v);
    return 0;
}

Output:

30

We can also use a custom function in accumulate. Refer numeric header in C++ STL | Set 1 (accumulate() and partial_sum()) for details.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter