A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/cpp_standard_library/cpp_accumulate.htm below:

C++ Accumulate Function

C++ Numeric::accumulate() function

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.

Syntax

Following 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 Return Value

It returns the result of accumulating all the values in the range [first,last) to init.

Exceptions

It throws if any of binary_op, the assignments or an operation on an iterator throws.

Data races

The locale object is modified.

Example 1

In 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 : 36
Example 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 : 264
Example 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