ExamVeda
Login
Home
C plus plus miscellaneous
?

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;
}

Answer & Solution
Correct Answer: Option C
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.
Examveda
Question posted by Examveda
Community

Join the Discussion

1 Comment
Naziya Amrohi
Naziya Amrohi 2 years ago
Answer will be -
35
53