online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> #include <vector> void print (const std::vector<std::vector<int>>& subsets) { for (auto &v: subsets) { for (auto &x: v) { std::cout << x << " "; } std::cout << "\n"; } } // n: number of remaining elements of A to consider // k: number of elements that remain to be put in the current subset // index: index of next element of A to consider void Get_subset_rec (std::vector<std::vector<int>>& subsets, int n, int k, int index, std::vector<int>& A, std::vector<int>& current_subset) { if (n < k) return; if (k == 0) { subsets.push_back (current_subset); return; } Get_subset_rec (subsets, n-1, k, index+1, A, current_subset); current_subset.push_back(A[index]); Get_subset_rec (subsets, n-1, k-1, index+1, A, current_subset); current_subset.pop_back(); // remove last element return; } void Get_subset (std::vector<std::vector<int>>& subsets, int subset_length, std::vector<int>& A) { std::vector<int> current_subset; Get_subset_rec (subsets, A.size(), subset_length, 0, A, current_subset); } int main () { int subset_length = 3; // subset size std::vector A = {1, 2, 3, 4, 5}; int size = A.size(); std::vector<std::vector<int>> subsets; Get_subset (subsets, subset_length, A); std::cout << subsets.size() << "\n"; print (subsets); }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue