トピック
あきと SideBurnsM

Hikaruさんの質問は

「ランダムで重複しない」というのはランダムの種を複数使うという方法であっていたのでしょうか? 0-99までの数字(任意)が一回ずつ現れる方法はありませんか?という意味だったのでは。 もしもそうであればRNDだけでは実現できません。配列にまずは数値を順に格納してそのあと配列をかき混ぜてとりだす必要があります。添付画像のARRAY_SHUFFLE関数を参考にしてください
4そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
間違ってた…。すいません18行目の「N-2」は「N-1」に修正してください。
0そうだね
プレイ済み
返信[2]
親投稿
Hikaru 106APX
変数12個に0から11の数値をランダムに重複せず、代入したかったのですが... ごめんなさい、まだ初心者なのでわからないことがたくさんあって。 丁寧な対応、本当にありがとうございます。
0そうだね
プレイ済み
返信[3]
親投稿
あきと SideBurnsM
合っていたみたいで良かったです。 書き込んでくれたので、一つだけ伝えたいことがあります。 質問して答えてもらった時に「ありがとうございます!」とすぐに閉じるのではなくできれば回答してもらった方法は要望に答えていたのか自分でも実行してみてください。 「ありがとうございます。これでカードのシャッフルができました。」など具体的にお礼も書けるし、もしもさらに実現したかったことがあるのであれば続けて質問できるからです。 なのでぜひ上のコードを入力して0-11がバラバラに出てきたことを確認して下さいね。
3そうだね
プレイ済み
返信[4]
親投稿
Hikaru 106APX
分かりました! 次からは確認してからトピックを閉じますね!
1そうだね
プレイ済み
返信[5]
親投稿
Hikaru 106APX
0から11がランダムに表示することを確認できました。 これ1つ1つを変数に代入することはできますか?
1そうだね
プレイ済み
返信[6]
親投稿
あきと SideBurnsM
もうARRAYという配列にはいってますが、再度変数に格納するのですか?
0そうだね
プレイ済み
返信[7]
親投稿
Hikaru 106APX
できますでしょうか?
0そうだね
プレイ済み
返信[8]
親投稿
あきと SideBurnsM
もう一つ変数を用意して INDEX=0 と初期化しておきます。 取り出すときは A=ARRAY[INDEX] INDEX=INDEX+1 とすれば繰り返すたびにINDEXが+1されてARRAYの中が一つずつAに代入されると思います。
0そうだね
プレイ済み
返信[9]
親投稿
あきと SideBurnsM
質問の意味がいまいち掴めないので、もしも「別々の変数に一つずつ代入したい」という意味であれば 12個の変数を用意して A1=ARRAY[0] A2=ARRAY[1] A3=ARRAY[2] ・ ・ とするしかないでしょう。
0そうだね
プレイ済み
返信[10]
親投稿
その変数名に規則性があるのならVAR()を使うという荒業がありますが、難しすぎますね。 上のコメントの例だと FOR I=0 TO 11 VAR(FORMAT$("A%d",I))=ARRAY[I] NEXT I みたいに出来ますが、上級者向けです。
0そうだね
プレイ済み
返信[11]
親投稿
Hikaru 106APX
ありがとうございます。 しかっり変数に入ってました。
0そうだね
プレイ済み