高手求解:VFP里面如何生成一个随机数组??(帮我把下面的程序找出错误)

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:31:30
目标:生成一个数组SJ[25],将1-25分别随机排列进去,数组中元素不重复。
*****定义随机数组SJ**********
m=0
y=0
dimension SJ[25]
SJ=0
for n=1 to 25
m=int(rand()*25+1)
do while y=1
y=0
for p=1 to n
if m=SJ(p)
m=int(rand()*25+1)
y=1
endif
endfor
enddo
SJ(n)=m
endfor
---------------------------------------------
上面的代码我调试过,但依然出现重复现象。谁能告诉我,这段代码错在哪里,该怎么修改。如果有更好的算法,也请不吝赐教啦~
各位大神在上,小的真的是诚信求教啊!!!

DIMENSION a(25) as Integer
s=26
FOR i=1 TO 25
a(i)=i
ENDFOR
FOR n=1 TO 25
s=s-1
t=INT(RAND()*s+1)
?a(t)
ADEL(a,t)
IF s<0
s=25
ENDIF
endfor
首先把1-25个数存到数组里,然后随机的取出,并删除这个数。