Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

dynamic knapsack algorithm

7 views
Skip to first unread message

fullr...@gmail.com

unread,
Dec 29, 2006, 9:00:16 AM12/29/06
to
Hi,
I Come from Poland and i don't speak English well so be patient ":)

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.

0 new messages