Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Display(const vector<int>& vi)
{
    for (size_t i = 0; i < vi.size(); ++i)
        cout << vi[i];
    cout<<endl;
}
int main()
{
    vector<int> vi;
    vi.push_back(3);
    vi.push_back(5);
    sort(vi.begin(), vi.end());
    Display(vi);
    while(next_permutation(vi.begin(), vi.end()))
    Display(vi);
    return 0;
}

A. 3 5

B. 5 3

C. 5 3
3 5

D. 3 3

Answer: Option C

Solution (By Examveda Team)

The C++ code uses the STL functions sort() and next_permutation() to display permutations of a vector.

Initially, the vector vi contains two elements: 3 and 5.

The sort(vi.begin(), vi.end()) function arranges the elements in ascending order, so the first output will be 3 5.

Then, the next_permutation() function rearranges the vector to the next lexicographical permutation, which will be 5 3, and it is displayed after sorting.

After this, there are no more permutations, so the loop terminates.

Thus, the output will be: 5 3 3 5.

Join The Discussion

Comments (1)

  1. Naziya Amrohi
    Naziya Amrohi:
    2 years ago

    Answer will be -
    35
    53

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