Illustrating the generic inner_product algorithm with predicate : array algorithms « STL Basics « C++






Illustrating the generic inner_product algorithm with predicate

 
 

#include <algorithm>
#include <iostream>
#include <functional>
#include <numeric>
using namespace std;

int main()
{
  const int N = 5;
  int x1[N], x2[N];

  for (int i = 0; i < N; ++i) {
    x1[i] = i + 1;
    x2[i] = i + 2;
  }
  
  // compute "inner product," with roles of + and * reversed:
  int result = inner_product(&x1[0], &x1[N], &x2[0], 1,multiplies<int>(), plus<int>());

  cout << "Inner product with roles of + and * reversed: " << result << endl;

  return 0;
}

/* 
Inner product with roles of + and * reversed: 10395

 */        
  








Related examples in the same category

1.Using the STL generic reverse algorithm with an array
2.Using reverse_copy to copy the array reversely
3.Use random_shuffle algorithms with array
4.Illustrating the generic adjacent_difference algorithm
5.Illustrating the generic partial_sum algorithm
6.Use the generic partition algorithms: Partition array1, putting numbers greater than 4 first, followed by those less than or equal to 4
7.Using function templates to get the max and min value in an array