iT邦幫忙

1

C++子集合問題

c++

各位大大好:
想請教各位大大
有個陣列裡面放了幾個數字0-9
我要將這些陣列的子集合都列出來
例如:a[4]={1,2,3,4}
子集合就有:1,2,3,4,12,13,14,123,124,134........
目前我只會一個一個依序列的方法
想問大大這能不能用地回還是其他較方便的函數解
以下是我的程式碼:

#include <iostream>

using namespace std;

int main()
{
    int a[5]={2,4,7,8,9};
    for(int i=0;i<5;i++)
    {
      cout<<a[i]<<"  , ";
    }
     for(int i=0;i<5;i++)
    {for(int j=i+1;j<5;j++)
      cout<<a[i]<<a[j]<<"  , ";
    }
    .....//繼續同樣方法列3位數,4位數....
    return 0;
}

謝謝大家

1 個回答

0
glj8989332
iT邦新手 2 級 ‧ 2020-08-03 09:45:56
最佳解答

請參考這個

Find all distinct subsets of a given set

目前C++沒有STL可直接找Subset的功能

joker iT邦新手 5 級 ‧ 2020-08-03 15:41:55 檢舉

謝謝

我要發表回答

立即登入回答