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

Answer will be -
35
53