Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool IsOdd (int i) 
{
    return (i % 2) == 1; 
}
int main () 
{
    vector<int> myvector;
    for (int i = 1; i < 10; ++i) myvector.push_back(i);
    vector<int> :: iterator bound;
    bound = partition (myvector.begin(), myvector.end(), IsOdd);
    for (vector<int> :: iterator it = myvector.begin(); it != bound; ++it)
        cout << ' ' << *it;
    return 0;
}

A. 1 3 5

B. 1 3 9

C. 1 9 3 7

D. 1 9 3 7 5

Answer: Option D


Join The Discussion

Related Questions on C plus plus miscellaneous

What is the difference between '++i' and 'i++' in C++?

A. None of the above

B. They both have the same effect

C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it

D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it