配列{1,2,3}があるとします。これらの要素を追加して、このように設定する必要があります
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}
最後に、私のセットは{1},{2},{3}, {2,3},{1,3},{1,2},{1,2,3}
これをコーディングしてみました
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);
}
}
}
私が言及したようなセットを生成することはできません。誰かがこれについて私を助けてください!!