
No.4ベストアンサー
- 回答日時:
皆さん、お答えが難しすぎるみたいですね。
「乱数」と言うのは、「サイコロ」を振ると言うのと同じです。
例えば、既に回答の出ている rand関数を実行するとコンピュータがサイコロを振ってその答えを返してくれます。
rand関数の答えは(言語によって違いますが)ここでは0<=n<1と言う事にしておきましょう。
小数点以下10桁で近似すると0.0000000000~0.9999999999と言う事になります。
ここで1~50の乱数が欲しいとします。
このときは INT(乱数*50)+1とすれば(0~49)+1で目的が達成されます。INTは切り捨て(正のときのみ)
> すると、呼ぶたびに違う値といってましたが同じ数字が来りはしないのでしょうか?
「サイコロ」ですから同じ数字も来てしまいます。これを防ぐ方法(テクニック)は有ります。3日前の質問の回答を見てください。(下記URL)
同じ悩みを持つ人は多いのです。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=213544
No.3
- 回答日時:
>乱数
規則性のない数列のことです。
現在のコンピュータで「規則性のない数列」を作ることは出来ないので、非常に規則性の少ない(周期の長い)数列を作る方法を用いて、「疑似乱数」と呼ばれる物を利用していますが、通常、それをも含めて乱数と言います。
Cであれば、stdlib.h に含まれる rand 関数などを利用します。
配列の並べ替え等々については過去に質問があると思うので検索してみてください。
No.2
- 回答日時:
乱数というのは0以上1未満で、コンピュータがランダムにはじきだす数値です。
この乱数に特定の数字(例:100)をかけると、
0以上100未満のばらばら不規則な数字を出すことができます。
例えば、ロトくじやナンバーズ予想、パチンコの当り確率などに応用します。
No.1
- 回答日時:
乱数というのは簡単に言うとでたらめな数なんですが、実際にはちゃんと計算したりしないとうまくでたらめになってくれません(計算だけでなくハードウェアの状態を拾ったりしてそれを含めて計算しているのもあります)。
で、C言語だと rand() という関数があります。それと乱数計算の種になる値を与えるための srand() という関数があります。(コンパイラ付属のライブラリはこれだけではないと思います。調べてみてください)。で、要するに rand() 関数は呼ぶたびに違う値を返してくるんです。ライブラリによっても違うかも知れませんがたとえば 0 から 0x7fff の間の値を返してくるようになっていて、その値を利用して 0 から 9 までの範囲にする場合こんな計算をしたりします。
int n = rand() * 10 / 0x8000;
意味わかりますよね? rand()が 0 ~ 0x7fff の内の何れかを返すのであれば上記の計算結果は 0 ~ 9 になります。
この回答への補足
返事ありがとうございました。内容は半分ぐらいは理解できましたがわからないとこもあるので聞こうとおもいます。
まず、配列での話となるんですが、この書いてもらったやり方で0~9
までの数字をfor文で回して、ひとつづつ新しい配列に添え字を入れていくと
すると、呼ぶたびに違う値といってましたが同じ数字が来りはしないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
C言語 配列の再初期化
-
C# Listを使わずに2次元配列の...
-
現在、C/C++ で作成したプログ...
-
ゼロサプレスって?
-
配列の参照渡しで型が一致しま...
-
c言語の __FILE__ について
-
先頭アドレスとは何ですか?
-
【C言語】配列の中に配列を入れ...
-
なぜ配列は0から始まるのです...
-
VBからDLLへ多次元配列を渡す/...
-
C言語 メモリ?
-
配列同士の文字列の比較
-
パソコンなどのテンキーの配列...
-
配列を含む構造体の初期値について
-
市販のビンゴカードについて
-
DXライブラリでの2Dの描画...
-
C++ vectorに配列をプッシュしたい
-
C言語で特定列だけを抽出して配...
-
switch文について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# Listを使わずに2次元配列の...
-
配列を使わずに、変数名を動的...
-
【速いブラインドタッチ】手を...
-
ExcelVBAで質問です。離れた二...
-
C言語で特定列だけを抽出して配...
-
配列を含む構造体の初期値について
-
配列で格納したものをmsgboxで...
-
配列をEraseしてもメモリが開放...
-
配列の参照渡しで型が一致しま...
-
先頭アドレスとは何ですか?
-
複数の選択範囲の行番号を個別...
-
メモリの初期値
-
VBで構造体の配列を関数に渡す...
-
C# 配列の変数宣言について。
-
Excel、VBAのユーザーフォーム...
-
テキストファイルから文字列を...
-
C言語 配列の再初期化
-
Redimした動的配列はEraseする...
-
【C言語】配列の中に配列を入れ...
おすすめ情報