编辑代码

#include<stdio.h>
#include<iostream>
using namespace std;
int knapsack(){
    int i,j,value1,value2;
    int cap=10;
    int v[6][11]={0};
    int weight[]={0,6,5,4,2,1};
    int value[]={0,5,3,5,3,2};
    for(i=1;i<=5;i++){
     for(j=1;j<=10;j++){
 if(weight[i]>j){
 v[i][j]=v[i-1][j];
     }else{
  int weight1=j-weight[i];
  value1=value[i]+v[i-1][weight1];
  value2=v[i-1][j];
  if(value1>=value2){
  v[i][j]=value1;
  }else{
   v[i][j]=value2;
   }
 }
 }
 }
 for(i=0;i<=5;i++){
 for(j=0;j<=10;j++){
 cout<<"v["<<i<<"]["<<j<<"]="<<v[i][j]<<"     ";
 if(j==10) cout<<endl;
 }
 }
 return 0;
}
int main()
{

   knapsack();
   return 0;
}