然后用刚才的随机函数取任意的数
var
i,j,k : integer;
begin
while k<80 do
begin
i := Random(80);
j := Random(80);
with Stringgrid1 do
begin
if Cells[0,i] <> '' and Cells[1,j] <>'' then
begin
你所需要的组合 := Cells[0,i] + Cells[1,j];
Cells[0,i] := '';//确保不重复
Cells[1,j] := '';
inc(k);//一共有80对组合
end
else
continue;
Next;
end;
end;
end
对数列A和数列B分别随机排序,排序方法如下:
(实际上是对每个数A随机与任意一个数交换位置)
for i:=1 to 80
begein
t:=random(80)+1;//产生一个1-80的随机数
temp:=A
//将第A从第i位交换到第t位
A:=A[t];
A[t]:=temp;
end
这样一轮下来.基本上所有数都交换了一遍,使数列A的数呈现随机排序状.
如果觉得随机度不足,可以重复几次上面的循环.