【一道翔题
pascal吧
全部回复
仅看楼主
level 9
在Freepascal语言与基础算法上有这么一道题,按标程打出来有问题,麻烦大家看一下
var a,b:array[1..1000,1..1000] of integer;
i,j,n:longint;
max:integer;
begin
readln(n);
fillchar(a,sizeof(a),0);
for i:=1 to n do
begin
for j:=1 to i do read(a[i,j]);
readln;
end;
b:=a;
b[1,1]:=a[1,1];
for i:=2 to n do
for j:=1 to i do
if b[i-1,j-1]>b[i-1,j] then b[i,j]:=b[i-1,j-1]+b[i,j]
else b[i,j]:=b[i-1,j]+b[i,j];
max:=0;
for i:=1 to n do
if b[n,i]>max then max:=b[n,i];
writeln('max=',max);
end.
2014年07月12日 05点07分 1
level 7
请提供一下原题目和测试数据,以便查看。
程序运行正常!
2014年07月12日 05点07分 2
level 12
程序运行正常,是求数组中Max的值吧
2014年07月13日 09点07分 3
level 12
我知道了
b:array[1..1000,1..1000]of longint;
for j:=1 to i do
数组越界了,b[i-1,j-1],j-1=0,而数组里没有0
2014年07月13日 12点07分 4
谢谢
2014年07月14日 03点07分
1