Demonstrating the generic accumulate algorithm with a reverse iterator : accumulate « STL Algorithms Helper « C++






Demonstrating the generic accumulate algorithm with a reverse iterator

  
 

#include <iostream>
#include <vector>
#include <cassert>
#include <numeric>  // For accumulate
using namespace std; 

int main()
{
  float small = (float)1.0/(1 << 26);
  float x[5] = {1.0, 3*small, 2*small, small, small};
  
  vector<float> vector1(&x[0], &x[5]); 

  cout << "Values to be added: " << endl;

  vector<float>::iterator i;
  cout.precision(10);

  for (i = vector1.begin(); i != vector1.end(); ++i)
    cout << *i << endl;
  cout << endl;

  float sum1 = accumulate(vector1.rbegin(), vector1.rend(),(float)0.0);
  cout << "Sum accumulated from right = " << (double)sum1 << endl;

  return 0;
}

/* 
Values to be added:
1
4.470348358e-008
2.980232239e-008
1.490116119e-008
1.490116119e-008

Sum accumulated from right = 1.000000119

 */        
    
  








Related examples in the same category

1.Calculate sum of elements in a vector
2.Algorithm: Use accumulate to calculate product
3.Illustrating the generic accumulate algorithm with predicate
4.accumulate( ) computes a summation of all of the elements within a specified range and returns the result.
5.Use accumulate() and minus()
6.Use accumulate to calculate sum for double array with minus()
7.Compute the mean float mean with accumulate function
8.accumulate value in a vector
9.Finding the Mean Value