fork(1) download
  1. #include<iostream>
  2. #include<string>
  3. #include<list>
  4.  
  5. using namespace std;
  6.  
  7. void print( list<int> l){
  8. for(list<int>::iterator it=l.begin(); it!=l.end() ; ++it)
  9. cout << " " << *it;
  10. cout<<endl;
  11. }
  12.  
  13. void subset(int arr[], int size, int left, int index, list<int> &l){
  14. if(left==0){
  15. print(l);
  16. return;
  17. }
  18. for(int i=index; i<size;i++){
  19. l.push_back(arr[i]);
  20. subset(arr,size,left-1,i+1,l);
  21. l.pop_back();
  22. }
  23.  
  24. }
  25.  
  26. int main(){
  27. int array[5]={1,2,3,4,5};
  28. list<int> lt;
  29. subset(array,5,3,0,lt);
  30.  
  31.  
  32. return 0;
  33. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
 1 2 3
 1 2 4
 1 2 5
 1 3 4
 1 3 5
 1 4 5
 2 3 4
 2 3 5
 2 4 5
 3 4 5