回 帖 发 新 帖 刷新版面

主题:(紧急求救)如何随机产生一个数列?

本人初学PASCAL,恳请各位指教,如何随机产生一个数列?附程序如下:
program test;
type a=array[1..6] of integer;
var
   i,temp:integer;
   data:a;
begin
   for i:=1 to 6 do
      data[i]:=random(6);
   for i:=1 to 6 do
   write(data[i]:4);
end.

现在的问题是这样,第一次运行程序,产生的数列是4 3 0 4 2 0,第二次,第三次...
每次运行程序产生的都是这个数列,怎么办好?各位救救我!(是否PASCAL也象C一样,有一个语句插在RANDOM(X)之前,使得产生的数不同的)[em10][color=FF0000]紧急求救[/color]

回复列表 (共2个回复)

沙发

呵呵~~~确实有一个语句randomize,并且和Turbo C一样。
不必要插在每个RANDOM(X)之前,我测试过如果那样的话,获得的随机数列效果会更差。开始用random前调用一下即可。
获取随机数列前要记得用复位随机数randomize。

program test;
type a=array[1..6] of integer;
var
   i,temp:integer;
   data:a;
begin

   randomize;

   for i:=1 to 6 do
      data[i]:=random(6);
   for i:=1 to 6 do
   write(data[i]:4);
end.

板凳

谢谢啦,以后要多指教呢,呵呵 [em3]

我来回复

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