pascal的经典问题,知道看一下我的问题在哪里啊

来源:百度知道 编辑:UC知道 时间:2024/05/17 16:08:02
下面是我的的pascal的程序,不知道为什么就是不对,高手看下,我错在哪里
说一下,谢谢了

program bag;
var w,p:array[1..100] of integer;
money:array[-1..100,-13..1000] of longint;
c,i,n,h:integer;
function get(n,wh:integer):longint;
var temp1,temp2,max:longint;
begin
if (n=0) or (wh<=0) then max:=0
else begin
if money[n-1,wh]=-1 then temp1:=get(n-1,wh)
else temp1:=money[n-1,wh];
if money[n-1,wh-w[n]]=-1 then temp2:=get(n-1,wh-w[n])+p[n]
else temp2:=money[n-1,wh-w[n]]+p[n];
if temp1>=temp2 then max:=temp1
else max:=temp2;
end;
money[n,wh]:=max;
get:=max;
end;

好象连用两个end了

end;
money[n,wh]:=max;
get:=max;
end;

要实现什么功能的呀?????

题目是什么?

楼主的程序经检测,没有错误。
只是不知道楼主做的是哪道题。
01背包?

问题补充:这样应该不影响吧
用 free pascal就没问题的吧,
主要是算法上有什么地方错了,

那就用free pascal
noip noi 都用fp
至于算法问题,背包问题每本书上都有,自己看吧

题目是什么?