Algorithm C++

#include 
#include 
#include 
#include 
using namespace std;
// finds the midpoint between two values.
class midpoint : binary_function {
public:
  result_type operator()(first_argument_type a, second_argument_type b) {
    return((a-b) / 2) + b;
  }
};
int main(){
  int i;
  vector 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;
}