sum_OF_SUBSET
#include<stdio.h>
#include<stdbool.h>
#define max_size 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_size];
int subset[max_size];
int n,sum;
printf("Enter the no. of elements in set:");
scanf("%d",&n);
printf("Enter the elements of set:\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