Advertisement
Farid_Mia59

sum of sub1

Nov 16th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. int m,sum=0;
  4. using namespace std;
  5. class sumofsubset{
  6. public:
  7. int w[50],x[10],n;
  8. void input()
  9. {
  10. freopen("input.txt","r",stdin);
  11. cin>>n;
  12. for(int i=1;i<=n;i++)
  13. {
  14. cin>>w[i];
  15. sum+=w[i];
  16. }
  17.  
  18. cout<<"Value of w[i] array are:\n";
  19. for(int i=1;i<=n;i++)
  20. cout<<w[i]<<" ";
  21. }
  22.  
  23. void sumofsub(int s,int k,int r)
  24. {
  25. x[k]=1;
  26. if(s+w[k]==m)
  27. {
  28. for(int i=1;i<=k;i++)
  29. cout<<x[i]<<" ";
  30. cout<<"\n\n";
  31. }
  32. else if(s+w[k]+w[k+1]<=m)
  33. {
  34. //cout<<"\nelse if k="<<k<<endl;
  35. sumofsub(s+w[k],k+1,r-w[k]);
  36. //cout<<"\nk A="<<k<<endl;
  37. }
  38.  
  39. if((s+r-w[k]>=m)&&(s+w[k+1]<=m))
  40. {
  41. //cout<<"\nif k="<<k<<endl;
  42. x[k]=0;
  43. sumofsub(s,k+1,r-w[k]);
  44. }
  45.  
  46. }
  47. };
  48.  
  49. int main()
  50. {
  51. sumofsubset ob1;
  52. ob1.input();
  53. cin>>m;
  54. cout<<"\nm="<<m<<"\n\n";
  55.  
  56. ob1.sumofsub(0,1,sum);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement