Minggu, 02 Desember 2012

algoritma greedy

pengertian dari Algoritma greedy adalah algoritma yang digunakan untuk memecahkan suatu masalah dengan menyeleksi suatu kondisi tertentu. Algoritma ini biasanya berjalan berdasarkan seleksi  input yang terbesar atau yang terkecil, sehingga akan didapatkan suatu solusi yang baik, namun bukan yang terbaik, karena algoritma ini akan berhenti  jika sudah menemui satu solusi yang berhasil ditemukan. kali ini kita akan mencoba membuat sebuah program dengan C cara kerja algoritma greedy tersebut


#include<stdio.h>
#include<conio.h>
#define size 99
void sort(int[], int);
main()
{
int x[size] ,i,n,uang,hasil[size];
printf("\n Banyak Koin : ");
scanf("%d", &n);
printf("\n \n Masukan Jenis Koin : \n");
for(i=1;i<=n;i++)
{
scanf("%d", &x[i]);
}
sort(x,n);
printf("\n Koin Yang Tersedia \n : ");
for(i=1;i<=n;i++)
{
printf("%d", x[i]);
printf("\n");
}
printf("\n");
printf("\n \n Masukan Nilai Yang Dipecah : \n");
scanf("%d", &uang);
printf("\n");
for(i=1;i<=n;i++)
{
hasil[i]=uang/x[i];
uang=uang%x[i];
}
for(i=1;i<=n;i++)
{
printf("Keping %d", x[i]);
printf("-an sebanyak : %d", hasil[i]);
printf("\n \n");
}
getch();
return 0;
}
void sort(int a[], int siz)
{
int pass,hold,j;
for(pass=1;pass<=siz-1;pass++)
{
for(j=0;j<=siz-2;j++)
{ if(a[j+1] < a[j+2])
{
hold=a[j+1];
a[j+1]=a[j+2];
a[j+2]=hold;
}}}}

Tidak ada komentar:

Posting Komentar