?? greed.cpp
字號:
#include<iostream>
using namespace std;
void nap(int n,float M,float w[],float v[])
{
int i,j,t;
float max,m[5],x[5];
for(j=1;j<=n;j++)
{ m[j]=v[j]/w[j];//單位重量的價值
max=m[j];
for(i=j;i<=n;i++)
if(m[i]>max) max=m[i];
t=m[i];m[i]=m[j];m[j]=t;
t=v[i];v[i]=v[j];v[j]=t;
t=w[i];w[i]=w[j];w[j]=t;
}
for(i=1;i<=n;i++)
x[i]=0;//是否裝入,裝入多少
float c=M;
for(i=1;i<=n;i++)
{
if(w[i]>c) break;
x[i]=1;
c-=w[i];
}
if(i<=n) x[i]=c/w[i];
for(i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
}
void main()
{
int n,m;
float v[5],w[5];
cout<<"輸入預備裝入的物品數量:";
cin>>n;
cout<<"輸入背包的容量:";
cin>>m;
cout<<"輸入各個物品的價值量:";
for(int i=1;i<=n;i++)
cin>>v[i];
cout<<"輸入相應的重量:";
for(int j=1;j<=n;j++)
cin>>w[j];
nap(n,m,w,v);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -