Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- int m,sum=0;
- using namespace std;
- class sumofsubset{
- public:
- int w[50],x[10],n;
- void input()
- {
- freopen("input.txt","r",stdin);
- cin>>n;
- for(int i=1;i<=n;i++)
- {
- cin>>w[i];
- sum+=w[i];
- }
- cout<<"Value of w[i] array are:\n";
- for(int i=1;i<=n;i++)
- cout<<w[i]<<" ";
- }
- void sumofsub(int s,int k,int r)
- {
- x[k]=1;
- if(s+w[k]==m)
- {
- for(int i=1;i<=k;i++)
- cout<<x[i]<<" ";
- cout<<"\n\n";
- }
- else if(s+w[k]+w[k+1]<=m)
- {
- //cout<<"\nelse if k="<<k<<endl;
- sumofsub(s+w[k],k+1,r-w[k]);
- //cout<<"\nk A="<<k<<endl;
- }
- if((s+r-w[k]>=m)&&(s+w[k+1]<=m))
- {
- //cout<<"\nif k="<<k<<endl;
- x[k]=0;
- sumofsub(s,k+1,r-w[k]);
- }
- }
- };
- int main()
- {
- sumofsubset ob1;
- ob1.input();
- cin>>m;
- cout<<"\nm="<<m<<"\n\n";
- ob1.sumofsub(0,1,sum);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement