Senin, 28 April 2014

SA prak 6


#include <cstdlib>
#include <iostream>

using namespace std;
void SolveFractionalKnapsack(float p[], float w[], float W, int n, float x[], float &TotalUntung)
{
     int i;
     float kapasitas;
     bool MasihMuatUtuh;
   
     for (i=0;i<=n;i++)
     {
         x[i]=0;
         }
     kapasitas = W;
     TotalUntung = 0;
     i = 1;
     MasihMuatUtuh = true;
     while (i<=n && MasihMuatUtuh)
     {
           if (w[i]<=kapasitas)
           {
              x[i]=1;
              TotalUntung = TotalUntung + p[i];
              kapasitas = kapasitas + w[i];
              i=i+1;
              }
           else;
           MasihMuatUtuh = false;
           };
           {i > n || !MasihMuatUtuh;}
             if (i <= n)
             {
                   x[i] = kapasitas/w[i];
                   TotalUntung = (TotalUntung + (x[i]*p[i]));
                   }
}
int main(int argc, char *argv[])
{
    float p[] = {60,16,15,10};
    float w[] = {10,8,3,5};
    float W   = 16;
    int n     = 4;
    float x[] = {};
    float TotalUntung;
   
    SolveFractionalKnapsack(p,w,W,n,x,TotalUntung);
    cout<<"Total Untung = "<<TotalUntung<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

0 comments:

Posting Komentar

"bayuaji-master.blogspot.com". Diberdayakan oleh Blogger.