Re: [.NET] 欲使產生之亂數不重複的問題!

看板Visual_Basic作者 ( What for ?)時間19年前 (2006/04/11 08:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《zero1590 (小白)》之銘言: : 各位前輩好,我想產生4個亂數, : 每個亂數不能一樣, : 我想了一個晚上, : 做出來以下的程式... : dim a,i,j as integer : dim take() as integer : Randomize() : For a = 0 To 3 : take(a) = Int(Rnd() * 10) + 1 : Next : For i = 3 To 1 Step -1 : For j = i - 1 To 0 Step -1 : Do While take(i) = take(j) : take(j) = Int(Rnd() * 10) + 1 : Loop : Next : Next : label1.text=take(0) & " " & take(1) & " " & take(2) & " " & take(3) 如果把流程改掉呢 ? 一次取得一個數,重取直到與前面都不相同 ? dim a, j as integer dim take() as integer dim isok as boolean ' true if ok randomize take(a) = int(rnd() * 10) + 1 for a = 1 to 3 ' 確定寫入 take(a) do isok = true take(a) = int(rnd() * 10) + 1 for j = 0 to a - 1 ' 檢查迴圈 if take(a) = take(j) then isok = false end if next j loop while not isok next a -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.134
文章代碼(AID): #14ElE1AA (Visual_Basic)
文章代碼(AID): #14ElE1AA (Visual_Basic)