質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Basic 6.0

Microsoft Visual Basic 6.0(VB6)とはCOMプログラミングのためにMicrosoftが提供したプログラミング言語とintegrated develpment enviornment(IDE)のことです。

Q&A

解決済

3回答

1529閲覧

学生です!BASICについて

hiroronoro

総合スコア10

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Basic 6.0

Microsoft Visual Basic 6.0(VB6)とはCOMプログラミングのためにMicrosoftが提供したプログラミング言語とintegrated develpment enviornment(IDE)のことです。

0グッド

0クリップ

投稿2016/04/24 08:40

5×5のマスのそれぞれに1〜25の数字をランダムに表示させたいのですが、やってみたら数字が重なってしまって...解決策が分かりません。
SET WINDOW 0,9,0,9
DRAW grid

RANDOMIZE
FOR s=1 TO 25
LET h=INT(RND25)+1
LET a=INT(RND
5)+2
LET b=INT(RND*5)+2
PLOT TEXT ,AT a+0.4,b+0.4:STR$(h)
NEXT s

どなたか教えてくれると嬉しいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

まず、1~25までの値を入れた配列を用意します。

乱数で配列の位置を求めます。

配列からその位置の値を取り除き(配列の数がひとつ減る)、マスにセットします。

これを繰り返せば、重複することはありませんし、必ず25回で求まります。

配列から値を取り除くSPLICE関数が無い時は、
その位置の値をマスにセットした後、その位置以降の配列の中身をひとつ前にずらして、
配列の大きさを示す変数の値を1減算するなどの処理で代用してください。

投稿2016/04/24 09:35

chun

総合スコア324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroronoro

2016/04/24 09:54

おお!分かりやすい! ありがとうごさいます!
guest

0

ベストアンサー

RND の詳細な仕様は知りませんが、一般的に乱数の関数は以前と同じ値(に近い)ものを返さない保証はありません。
なので、数字が重ならないようにするには、呼び側で対処する必要があります。
一度出た値は配列などに保存しておいて、次に乱数を得た時に、以前と同じ値があったかチェックし、あったならば、再度、乱数を取り直すなどです。

投稿2016/04/24 09:10

yoshi777

総合スコア674

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroronoro

2016/04/24 09:26

ありがとうごさいます!
guest

0

すでにとれてた数字だったら再度とる
ってのが簡単ですかね。

投稿2016/04/24 08:58

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroronoro

2016/04/24 09:26

ありがとうごさいます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問