The C++ std::complex::accumulate() function is used to calculate the sum or to perform other operations on the elements within a range. It takes three arguments: the starting and ending iterator and an initial value for the accumulation. By default, it will add the elements to the initial value, but a custom binary operation such as multiplication or subtraction can be provided as fourth argument.
SyntaxFollowing is the syntax for std::numeric::accumulate() function.
T accumulate (InputIterator first, InputIterator last, T init); or T accumulate (InputIterator first, InputIterator last, T init, BinaryOperation binary_op);Parameters
It returns the result of accumulating all the values in the range [first,last) to init.
ExceptionsIt throws if any of binary_op, the assignments or an operation on an iterator throws.
Data racesThe locale object is modified.
Example 1In the following example, we are going to consider the basic usage of the accumulate() function.
#include <iostream> #include <numeric> #include <vector> int main() { std::vector < int > x = {11,22,3}; int a = std::accumulate(x.begin(), x.end(), 0); std::cout << "Result : " << a << std::endl; }Output
Output of the above code is as follows −
Result : 36Example 2
Consider the following example, where we are going to make the product of the elements.
#include <iostream> #include <numeric> #include <vector> int main() { std::vector < int > a = {11,2,12}; int x = std::accumulate(a.begin(), a.end(), 1, std::multiplies < int > ()); std::cout << "Result : " << x << std::endl; }Output
Following is the output of the above code −
Result : 264Example 3
Let's look at the following example, where we are going to get the sum of the odd elements.
#include <iostream> #include <numeric> #include <vector> int main() { std::vector < int > a = {1,2,3,4,5}; int x = std::accumulate(a.begin(), a.end(), 0, [](int sum, int x) { return x % 2 != 0 ? sum + x : sum; }); std::cout << "Result : " << x << std::endl; }Output
If we run the above code it will generate the following output −
Result : 9
numeric.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4