掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シャッフルで同じ番号が出てしまうのですが… (ID:104843)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Yuoさんのご指摘通りにやってみたのですが、ランダム抽出時、同じ番号がでてしまいます。どごが悪いのか一生懸命探したのですが分りません.... アドバイスお願いします。1〜99までの番号をランダムに取り出し、同じ番号は2度と出てはいけない。 Private Sub Command1_Click() Dim intNum As Integer Dim ary(1 To 99) As Integer Dim i As Integer, j As Integer, Temp As Integer Dim 出力用 As String If Not IsNumeric(Text1) Then MsgBox "Please enter a number for the raws", vbOKOnly, "error" Exit Sub End If If Not IsNumeric(Text2) Then MsgBox "Please enter a number for the column", vbOKOnly, "error" Exit Sub End If If (Val(Text1.Text) <= 5) And (Val(Text2.Text) <= 4) Then mintLaw = Val(Text1.Text) mintCol = Val(Text2.Text) intNum = mintLaw * mintCol ' 初期化 For i = 1 To 99 ary(i) = i Next i ' シャッフル For i = 1 To intNum j = Int(Rnd() * 99) + 1 ' 数値をひとつ選ぶ '入れ替え Temp = ary(j) ary(j) = ary(i) ary(i) = Temp 'Set mcards = New BingoNumber If i = mintLaw Or i = mintLaw * 2 Or i = mintLaw * 3 Or i = mintLaw * 4 Then 出力用 = 出力用 & ary(i) & vbCrLf Else 出力用 = 出力用 & ary(i) & " " ' " "はスペース End If Label1.Caption = 出力用 Next i Else MsgBox "The number is error" Exit Sub End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.