Mega Code Archive

 
Categories / C++ / Algorithm
 

Use a binary function object to find the midpoints between elements in v3 and v4 and store the results in v5

#include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; // finds the midpoint between two values. class midpoint : binary_function<int, int, double> { public:   result_type operator()(first_argument_type a, second_argument_type b) {     return((a-b) / 2) + b;   } }; int main(){   int i;   vector<int> v3, v4, v5(10);   for(i = 0; i < 10; ++i)       v3.push_back(i);   for(i = 10; i < 20; ++i)       if(i%2)          v4.push_back(i);       else          v4.push_back(-i);   transform(v3.begin(), v3.end(), v4.begin(), v5.begin(), midpoint());   return 0; }