"c++ generate all subsets" Code Answer's
You're definitely familiar with the best coding language C++ that developers use to develop their projects and they get all their queries like "c++ generate all subsets" answered properly. Developers are finding an appropriate answer about c++ generate all subsets related to the C++ coding language. By visiting this online portal developers get answers concerning C++ codes question like c++ generate all subsets. Enter your desired code related query in the search bar and get every piece of information about C++ code related question on c++ generate all subsets.
c++ generate all subsets
#include <vector>
#include <iostream>
#include <cmath>
using namespace std;
int main() {
// this is the length of the array of values
// change variable "len" accordingly
int len = 5;
// this is the array of values
int values[] = {3, 4, 2, 8, 5};
// all subsets will be in vector "subsets"
vector<vector<int>> subsets;
for (int i = 0; i < pow(2, len); i++) {
int t = i;
vector<int> v;
for (int j = 0; j < len; j++) {
if (t & 1)
v.push_back(values[j]);
t >>= 1;
}
subsets.push_back(v);
}
// print all of the subsets (optional)
cout << "subsets:\n";
for (const vector<int>& subset: subsets) {
for (const int& value: subset)
cout << value << " ";
cout << "\n";
}
// note: an empty line will be printed at the top,
// indicating an empty subset
}
print all unique subsets
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// Function to print the elements of a vector
void printVector(vector<int> const &out)
{
for (int i: out)
cout << i << " ";
cout << '\n';
}
// Recursive function to print all distinct subsets of S
// S --> input set
// out --> vector to store subset
// i --> index of next element in set S to be processed
void findPowerSet(int S[], vector<int> &out, int i)
{
// if all elements are processed, print the current subset
if (i < 0)
{
printVector(out);
return;
}
// include current element in the current subset and recur
out.push_back(S[i]);
findPowerSet(S, out, i - 1);
// exclude current element in the current subset
out.pop_back(); // backtrack
// remove adjacent duplicate elements
while (S[i] == S[i-1])
i--;
// exclude current element in the current subset and recur
findPowerSet(S, out, i - 1);
}
// Program to generate all distinct subsets of given set
int main()
{
int S[] = { 1, 3, 1 };
int n = sizeof(S) / sizeof(S[0]);
// sort the set
sort(S, S + n);
// create an empty vector to store elements of a subset
vector<int> out;
findPowerSet(S, out, n-1);
return 0;
}
Source: www.techiedelight.com
All those coders who are working on the C++ based application and are stuck on c++ generate all subsets can get a collection of related answers to their query. Programmers need to enter their query on c++ generate all subsets related to C++ code and they'll get their ambiguities clear immediately. On our webpage, there are tutorials about c++ generate all subsets for the programmers working on C++ code while coding their module. Coders are also allowed to rectify already present answers of c++ generate all subsets while working on the C++ language code. Developers can add up suggestions if they deem fit any other answer relating to "c++ generate all subsets". Visit this developer's friendly online web community, CodeProZone, and get your queries like c++ generate all subsets resolved professionally and stay updated to the latest C++ updates.