投稿日 | : 2002/10/01(Tue) 14:03 |
投稿者 | : けいこ |
Eメール | : |
URL | : |
タイトル | : Re^2: VBで任意の排他的な数列をつくるには |
> 配列に先に1〜5を設定しておき、
> ランダムにその配列の同士の中身を入れると重複することなく
> ランダムな順にできます。トランプのカードをきるのと同じ発想です。
ありがとうございます。さっそく作ってみました。
解決して、頭すっきりです。う〜ん、思いつきませんでした。
Private Sub subShaffle(shMaxNum As Integer) ’shMAXまでの数の排他数列
Dim rndmNum As Integer
Dim shKaisu As Integer
Dim shI As Integer
Dim tmpNum As Integer
For shI = 1 To shMaxNum
shNum(shI) = shI
Next
For shI = 1 To shMaxNum
Randomize
rndmNum = Int((shMaxNum - 1 + 1) * Rnd + 1)
tmpNum = shNum(shI)
shNum(shI) = shNum(rndmNum)
shNum(rndmNum) = tmpNum
Next
' MsgBox shNum(1) & shNum(2) & shNum(3) & shNum(4) & shNum(5)
End Sub