随机数的问题,对的话马上给分.(100分)

  • 主题发起人 crazyworker
  • 开始时间
C

crazyworker

Unregistered / Unconfirmed
GUEST, unregistred user!
一个2维数组.
做如下循环:
从中随机选一个数,选中后不可再选,直到数组中的数全被选完为止.
要系统开销小的算法
大侠帮帮忙啊~~~~~~~~~~急~~~~~~~~~~~~
 
请看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=542886
http://www.delphibbs.com/delphibbs/dispq.asp?lid=898091
代码就不贴了(事先将二维数组的数据转到一维数组即可)。
 
type
T2Dim = array [1..100, 1..100] of Integer;
T1Dim = array [1..10000] of Integer;
procedure RandomArr(a: T2Dim;
var b: T1Dim);
var
l, i, Index: Integer;
begin
Randomize;
for i:=10000do
wnto 1do
begin
Index:=Random(i)+1;
b[10000-i]:=a[(Index-1) div 100+1, (Index-1) mod 100+1];
a[(Index-1) div 100+1, (Index-1) mod 100+1]:=a[(i-1) div 100+1, (i-1) mod 100+1]
end
end;
 
谢谢2位
等我看完后,可以的话马上给分
 
解决了,给分了.
 
顶部