Friday, 9 August 2013

Add elements to set iteratively

Add elements to set iteratively

Suppose I have an array {1,2,3}, I have to add these elements to set like
this
Pass 1: {1}, {2}, {3} (Adding sets of size 1 )
Pass 2: Pass1 + {1,2}, {1,3} , {2,3} (Combination of sets of previous pass
and sets of size 2)
Pass 3: Pass2 + {1,2,3}
Finally my set should have {1},{2},{3}, {2,3},{1,3},{1,2},{1,2,3}
I tried to code this
void generateSets(int arr[], int size, int sum){
set<set<int> > mySet;
for(int i=0;i< size ; i++){
set< set<int> >::iterator iter;
for (iter = mySet.begin(); iter != mySet.end(); ++iter) {
set<int> s(*iter);
for(int k=0;k<size; k++){
s.insert(arr[k]);
}
mySet.insert(s);
}
}
}
Im not able to generate sets like what I have mentioned. Please someone
can help me on this!!

No comments:

Post a Comment