Vidyalelo
C++ Programming · Q189

C++ miscellaneous

Programming · C++ Programming · question 189

Q189

What will be the output of the following C++ code? #include #include #include using namespace std; void Display(const vector & vi) for (size_t i = 0; i 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
Answer
D.
3 3

Answer: Option C

Solution

Answer: Option C
Solution:
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.