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






#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








14.1.array algorithms
14.1.1.Using the STL generic reverse algorithm with an array
14.1.2.Using reverse_copy to copy the array reversely
14.1.3.Use random_shuffle algorithms with array
14.1.4.Illustrating the generic inner_product algorithm with predicate
14.1.5.Illustrating the generic adjacent_difference algorithm
14.1.6.Illustrating the generic partial_sum algorithm
14.1.7.Use the generic partition algorithms: Partition array1, putting numbers greater than 4 first, followed by those less than or equal to 4
14.1.8.Using function templates to get the max and min value in an array