Implement Program for “Making Change” using Greedy design technique.
#include<stdio.h>
#include<conio.h>
int C[]={1,5,10,25,100};
void make_change(int n);
int bestsol(int,int);
void main()
{
int
n;
clrscr();
printf("\n
Enter amount you want:");
scanf("%d",&n);
make_change(n);
getch();
}
void make_change(int n)
{
int
S[100],s=0,x,ind=0,i;
printf("%5d",C[i]);
while(s!=n)
{
x=bestsol(s,n);
if(x==-1)
{}
else
{
S[ind++]=x;
s=s+x;
}
}
printf("\nMAKING CHANGE FOR
%4d\n",n);
for(i=0;i
< ind;i++)
{
printf("\n%5d",S[i]);
}
printf("\n");
}
int bestsol(int s,int n)
{
int i;
for(i=4;i>-1;i--)
{
if((s+C[i]) <= n)
return C[i] ;
}
return
-1;
}
Comments
Post a Comment