Array product in C++ using STL
In C++, we can quickly find array product using accumulate() and multiplies<>().
The initialProduct specifies the initial value to be considered.
For multiplication, the initial value is 1.
Eg: array = [5, 10, 15],
So, Product = 1 x 5 x 10 x 15 = 750 (Notice that 1 is the initial value here)
CPP
#include <iostream>
#include <numeric>
using namespace std;
int arrayProduct( int a[], int n)
{
int initialProduct = 1;
return accumulate(a, a + n, initialProduct, multiplies< int >());
}
int main()
{
int a[] = { 5, 10, 15 };
int n = sizeof (a) / sizeof (a[0]);
cout << arrayProduct(a, n);
return 0;
}
|
product of vector
CPP
#include <iostream>
#include <numeric>
#include <vector>
using namespace std;
int arrayProduct(vector< int >& v)
{
int initialProduct = 1;
return accumulate(v.begin(), v.end(), initialProduct, multiplies< int >());
}
int main()
{
vector< int > v{ 5, 10, 15 };
cout << arrayProduct(v);
return 0;
}
|
We can also use a custom function in accumulate. Refer numeric header in C++ STL | Set 1 (accumulate() and partial_product()) for details.
Last Updated :
19 Apr, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...