sum_subset
#include<stdio.h>
#include<stdbool.h>
#define max 100
void subsetSum(int set[],int subset[],int n,int subsize,int total,int nodecount,int sum){
if(total==sum){
printf("Subset found:{");
for(int i=0;i<subsize;i++){
printf("%d",subset[i]);
}
printf("}\n");
return;
}
else{
for(int i=nodecount;i<n;i++){
subset[subsize] = set[i];
subsetSum(set,subset,n,subsize+1,total+set[i],i+1,sum);
}
}
}
int main(){
int set[max];
int subset[max];
int n,sum;
printf("Enter the no. of elements in set:");
scanf("%d",&n);
printf("Enter the elements: \n");
for(int i=0;i<n;i++){
scanf("%d",&set[i]);
}
printf("Enter sum to find subset for:");
scanf("%d",&sum);
printf("subset with sum:%d\n",sum);
subsetSum(set,subset,n,0,0,0,sum);
return 0;
}
Comments
Post a Comment