diff --git a/Data-Structures/SubsetsOfArray.cpp b/Data-Structures/SubsetsOfArray.cpp new file mode 100644 index 0000000..15360a1 --- /dev/null +++ b/Data-Structures/SubsetsOfArray.cpp @@ -0,0 +1,52 @@ +#include +#define ll long long int +#define int long long +#define loop(i, x, n) for (int i = x; i < n; i++) +#define rloop(i, x, n) for (int i = n - 1; i >= x; i--) +using namespace std; + +int sz; +void makeSubsets(int i, vector &v, vector> &res, int arr[]) +{ + if(i>=sz) + { + res.push_back(v); + return ; + } + //pick.. + v.push_back(arr[i]); + makeSubsets(i+1, v, res, arr); + v.pop_back(); + + //not pick.. + makeSubsets(i+1, v, res, arr); +} + +void code() +{ + int n; cin>>n; + sz=n; + int arr[n]; + loop(i,0,n) cin>>arr[i]; + vector> res; + vector v; + makeSubsets(0, v, res, arr); + cout<<"no of subsets: "<