I have looking for a algorithm for knapsack problem,
if anybody have it pleas help me
i use actually that:
#include <iostream.h>
const n=3;
void greedy(double M, double W[n], double C[n], double X[n]);
void main()
{
int Miejsce=50;
double W[n]={10,12,16}, C[n]={1,2,3}, X[n]={0,0,0};
greedy(Miejsce,W,C,X);
double p=0;
cout << "Obszar w plecaku: " << Miejsce << "\n\n";
cout << "Lp." << " Magazyn" << " Wartosc" << "\tIlosc" << endl;
cout << "==================================" << endl;
for (int i=0; i<n; p+=X[i] * C[i], i++)
cout << i << "\t" << W[i] << "\t" << C[i] << "\t" << X[i] << endl;
cout << "\nWartosc w sumie: " << p << "\n\n";
system("PAUSE");
}
void greedy(double M, double W[n], double C[n], double X[n])
// M - ilosc miejsca w plecaku
// W - ilosc danego towaru ??
// C - Prawdopodobnie cena ??
// X - ilosc wlozonych towarow ??
{
double Z=M; //pozostaje do wypelnienia
for (int i=0; i<n; i++)
{
if (W[i] > Z)
break;
X[i]=1;
Z=Z-W[i];
if (i<n)
X[i]=Z/W[i];
}
}
And it was not work correctly as i wish.