切换到宽版
  • 5533阅读
  • 4回复

[求助]大家帮忙看下这个程序有什么问题 [复制链接]

上一主题 下一主题
离线menie0608
 
只看楼主 倒序阅读 0 发表于: 2006-11-24
type
aim=^bead;
bead=record
  data:integer;
  f:aim;
  b:aim;
  end;

var
a:array[1..100] of bead;
b:array[1..100] of integer;
c:array[1..100] of integer;
n,i,j,s,temp:integer;
p:^bead;

begin
writeln('Input the number of beads');
read(n);
for i:=1 to n do
begin
  new(a[i].f);new(a[i].b);
end;
writeln('Input the value of each bead');
for i:=1 to n do
begin
  read(a[i].data);
  a[i].f:=a[(i-1) mod n]^;
  a[i].b:=a[(i+1) mod n]^;
  b[i]:=a[i];
  c[i]:=i;
end;
for i:=1 to n-1 do
  for j:=i to n do
  begin
    if b[j]<b[i] then
    begin
      temp:=b[j];b[j]:=b[i];b[i]:=temp;
      temp:=c[j];c[j]:=c[i];c[i]:=temp;
    end;
  end;
s:=0;
for i:=1 to n-1 do
begin
  s:=s+a[i].data*a[i].f.data*a[i].b.data;
  a[c[i]].b.f:=a[c[i]].f^;a[c[i]].f.b:=a[c[i]].b^;
  dispose(a[c[i]].f);dispose(a[c[i]].b);
end;
writeln;
write('The max=',s);
end.
离线hy6210cs
只看该作者 1 发表于: 2007-02-04
好像没啥问题呀~~~~~~~~~~~~~~~~~~~~
离线mattno1
只看该作者 2 发表于: 2007-02-04
看不出来...
我在指针上很薄弱...
离线jysxwjz
只看该作者 3 发表于: 2007-02-16
a.f:=a[(i-1) mod n]^;
这一句,当i:=1时,并不能让a.f:=a[n]^
还有,这一句看来没什么用,反而浪费许多空间:
for i:=1 to n do
begin
new(a.f);new(a.b);
end;
离线oiloving
只看该作者 4 发表于: 2007-03-08
搞不懂
快速回复
限100 字节
 
上一个 下一个