回 帖 发 新 帖 刷新版面

主题:我错在哪里?

题目:
用随机函数产生两个一维数组(两位整数),然后合并到二维数组,再将二维数组按方阵形式显示出来。 

我做完的程序输出后发现,数组中的值几乎是重复的,好象随机函数并没有起作用,到底我错在什么地方?

程序如下:

var a,b:array[1..4] of real;
    c:array[1..2,1..4] of real;
    d,e:integer;
begin
  for d:=1 to 4 do
    begin
      randomize;
      a[d]:=1+98*random;
      b[d]:=1+98*random;
    end;
  for d:=1 to 4 do c[1,d]:=a[d];
  for e:=1 to 4 do c[2,d]:=b[d];
  for d:=1 to 2 do
    begin
      for e:=1 to 4 do write(c[d,e]:4:0);
      writeln
    end;
end.

回复列表 (共2个回复)

沙发

十二行:
for e:=1 to 4 do c[2,d]:=b[d];
改为
for e:=1 to 4 do c[2,e]:=b[e];

板凳

谢谢,你的回答虽然没有解决问题,但提醒了我在输入每一个语句的时候可能顺序搞乱了,我终于发现,原来是把随机种子放错了地方了。[em8]

我来回复

您尚未登录,请登录后再回复。点此登录或注册