该如何写这样的函数?(10分)

  • 主题发起人 主题发起人 bbwll
  • 开始时间 开始时间
B

bbwll

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个通用的函数,从一个整数n中随机取出m个各不相同的数(m<n),用动态数组该如何写?请指点!
 
改一下
type
Tmydata=array of integer;
-------
---------
function isdiff(mydata1:Tmydata;k:integer):boolean;
var
i:integer;
begin
result:=true;
for i:=0 to high(mydata1) do
if mydata1=k then
result:=false;

end;
function myran(n:integer
m:integer):Tmydata;
var
mydata:Tmydata;
i,ran:integer;
begin
i:=0;
while i<m do
begin

ran:= random(n);
//showmessage(inttostr(ran));
if isdiff(mydata,ran) then
begin

setlength(mydata,length(mydata)+1);
mydata:=ran;
inc(i);
end;
end;
result:=mydata;
end;
 
接受答案了.
 
后退
顶部