0

それぞれが 1 から 10 までの乱数を含む 10 個の変数を持つ配列を生成しようとしています。乱数の整数は配列内に複数回存在することはできません。プログラムが実行されるたびに、配列は異なる数値でリセットされます。たとえば、英語で、私が欲しいのは基本的に次のとおりです。

randint[1] = random number <= 10 and >= 1
randint[2] = random number <= 10 and >= 1 and <> randint[1]
randint[3] = random number <= 10 and >= 1 and <>  randint[2]
randint[4] = random number <= 10 and >= 1 and <>  randint[3]
randint[5] = random number <= 10 and >= 1 and <>  randint[4]
randint[6] = random number <= 10 and >= 1 and <>  randint[5]
randint[7] = random number <= 10 and >= 1 and <>  randint[6]
randint[8] = random number <= 10 and >= 1 and <>  randint[7]
randint[9] = random number <= 10 and >= 1 and <>  randint[8]
randint[10] = random number <= 10 and >= 1 and <>  randint[9]

簡単に言うと、1 から 10 までの数字をランダムな順序で並べ替えようとしています。

これまでのところ、私のコードは次のとおりです。

For i = 1 To 10
  While rand_int[i] = prev_int
    rand_int[i] = Math.GetRandomNumber(9)+1
    prev_int = rand_int[i]
  EndWhile
EndFor

私も代わりに試しました

rand_int[1] = Math.GetRandomNumber(9)+1

for i = 2 To 10
  rand_int[i] = Math.GetRandomNumber(9)+1
  While rand_int[i] = rand_int[i-1]
    rand_int[i] = Math.GetRandomNumber(9)+1
  EndWhile
EndFor

どんな援助でも大歓迎です、ありがとう。

4

3 に答える 3

0

これにより、乱数が得られます

For i = 1 To 10 Step 1
  num[i]["num"] = i
  num[i]["chosen"] ="not chosen"
endfor
For i = 1 To 10 Step 1
  getnumber()
  endfor

Sub getnumber

  number=Math.GetRandomNumber(10)

  If num[number]["chosen"] = "not chosen" then
    TextWindow.WriteLine(num[number]["num"])

    num[number]["chosen"] = "chosen"
  Else 
    getnumber()
    endif
 EndSub 
于 2016-02-06T21:17:03.933 に答える
0

あなたがしなければならないことはこれです:

For i = 1 To 10
While randint[i] = randint[i-1] Or randint[i] = "" '<--- while the randint is equal to the last, it will keep generating numbers (Or while the randint is nothing)
randint[i] = Math.GetRandomNumber(10)
EndWhile
TextWindow.WriteLine(randint[i])
EndFor
于 2016-02-07T17:07:26.177 に答える