狭い範囲の値にしかなっていません。102倍しても、764388~794376。この値で割ると、23.327~24.242。整数ですから、23~24。これが、最初の乱数が同じ値になる理由です。割ることは、15ビット右シフトするのと同じで、元の数の下位15ビットを捨てることになっています。下位ビットの値を利用できて、もっと良くなると思います。よる乱数の生成も問題があります。321/32768となって一様ではないということです。乱数の最初の値は同じにはなりません。↑1年前でもプログラム中で配列の個数を決める方法には興味があるので回答いただけると嬉しいです。realloc()を用いて動的確保する方法があります。要素数))成功すると新しいオブジェクトへのポインタを返します。これはもとのポインタと同じかもしれませんし、違うかもしれません。別の変数に入れてチェックする方が行儀が良いとされます。↑1年前それとなぜ乱数の一番初めの数字には規則性があるのかも気になります。規則性が出る原因ではなさそうだとは思いますが、Wandboxで試したところ、RAND_MAXが大きかったので、オーバーフローしてしまい上手く動きませんでした。1.0));}のように、乱数として返す値を求める式中の1を1.0にしてdouble型で計算するほうが、動く環境が増えるでしょう。引数の型も明示的に指定したほうがいいと思います。time=1541100358]でもプログラム中で配列の個数を決める方法には興味があるので回答いただけると嬉しいです。[/quote]realloc()を用いて動的確保する方法があります。要素数))[*]成功すると新しいオブジェクトへのポインタを返します。これはもとのポインタと同じかもしれませんし、違うかもしれません。別の変数に入れてチェックする方が行儀が良いとされます。time=1541100358]それとなぜ乱数の一番初めの数字には規則性があるのかも気になります。[/quote]規則性が出る原因ではなさそうだとは思いますが、[url=https://wandbox.org/]Wandbox[/url]で試したところ、RAND_MAXが大きかったので、オーバーフローしてしまい上手く動きませんでした。1.0));}[/code]のように、乱数として返す値を求める式中の1を1.0にしてdouble型で計算するほうが、動く環境が増えるでしょう。引数の型も明示的に指定したほうがいいと思います。自分が作りたいプログラムはできました。プログラム中で配列の個数を決める方法には興味があるので回答いただけると嬉しいです。それとなぜ乱数の一番初めの数字には規則性があるのかも気になります。1));}自分が作りたいプログラムはできました。プログラム中で配列の個数を決める方法には興味があるので回答いただけると嬉しいです。それとなぜ乱数の一番初めの数字には規則性があるのかも気になります。1年前boxさん、かずまさんありがとうございます。-1)に変えた所ー1が表示されたらプログラムが終了するようになりました。これだと数字が100個を超えたとき強制終了しちゃうので何とか-1が表示される分だけの配列のサイズの設定の仕方を知りませんか?大きく10000とか入れてもいいんですが定数を入れるとその回数超えてもー1が出なかったとき怖いですしメモリの無駄になる気がします。(メモリは解放できなくもない気はしますが)boxさん、かずまさんありがとうございます。-1)に変えた所ー1が表示されたらプログラムが終了するようになりました。これだと数字が100個を超えたとき強制終了しちゃうので何とか-1が表示される分だけの配列のサイズの設定の仕方を知りませんか?大きく10000とか入れてもいいんですが定数を入れるとその回数超えてもー1が出なかったとき怖いですしメモリの無駄になる気がします。↑1年前srand()は、乱数を発生させる前に、「必ず1回だけ」実行(とりあえずmain()で)すればよいです。少なくともmain()のdoループの中で何度も実行するgetrand()の中にsrand()はない方がよいです。1回だけしか実行されません。user_id=523]srand()は、乱数を発生させる前に、「必ず1回だけ」実行(とりあえずmain()で)すればよいです。少なくともmain()のdoループの中で何度も実行するgetrand()の中にsrand()はない方がよいです。1回だけしか実行されません。チェックしても無意味です。チェックしても無意味です。チェックしても無意味です。チェックしても無意味です。1年前srand()は、乱数を発生させる前に、「必ず1回だけ」実行(とりあえずmain()で)すればよいです。少なくともmain()のdoループの中で何度も実行するgetrand()の中にsrand()はない方がよいです。srand()は、乱数を発生させる前に、「必ず1回だけ」実行(とりあえずmain()で)すればよいです。少なくともmain()のdoループの中で何度も実行するgetrand()の中にsrand()はない方がよいです。図1の書き換え後です。1));}図1の書き換え後です。randomという変数が使いたいです。rand→randomに変えました。whileの所も変えました。変えて実行したところやっぱり9行目でエラーが出たのでまたrandom[]に100を入れて何回も実行したところエラーはでなかったんですがー1が出ても動作が続いて最後には強制終了しました。それと表示されてく乱数はー1から100に収まってるんですが、最初に表示される数字が約一分ごとに1増えていく感じで乱数になりませんでした。(疑似乱数の弊害ですかね?だとしたら対処法も教えてほしいです。2番目以降はぱっと見規則性はなかったです。random[]に10を入れても同じ現象が起きました。この時表示された数字の数は10を超えていました。randomという変数が使いたいです。rand[i]→random[i]に変えました。whileの所も変えました。変えて実行したところやっぱり9行目でエラーが出たのでまたrandom[]に100を入れて何回も実行したところエラーはでなかったんですがー1が出ても動作が続いて最後には強制終了しました。それと表示されてく乱数はー1から100に収まってるんですが、最初に表示される数字が約一分ごとに1増えていく感じで乱数になりませんでした。(疑似乱数の弊害ですかね?だとしたら対処法も教えてほしいです。2番目以降はぱっと見規則性はなかったです。random[]に10を入れても同じ現象が起きました。この時表示された数字の数は10を超えていました。1年前ここの掲示板は初利用なのでテンプレを使わせていただきます。何か足りない情報があれば追記します。自分が今行いたい事は何かー1から100までの乱数をー1が出るまで表示し続けるプログラムを作りたいです。「9行目」で記述エラーを発見しました。sizeと出たので適当にrandom[]の中に100を入れてみて実行すると「12行目」で記述エラーを発見しました。「pointer」を付け忘れています。出てわからなくなりました。そこで、ポインタ変数でも使ってみようと思い図2を実行すると「12行目」で記述エラーを発見しました。「lvalue」を付け忘れています。出て調べてみると左辺がいけないかなんからしいですがいまいちピンときません。今何がわからないのか、知りたいのか今回知りたいのは・どうすれば配列の個数を定数ではなくー1が出るまでの個数に設定できるのか。・他に「こういう質問する人はここ勘違いしてるだろうな」ということについてのアドバイスなどあると嬉しいです。・どの程度C言語を理解しているか始めて三週間程度苦しんで覚えるc言語というところで独学でやってます。http://9cguide.appspot.com/index.htmlここで二十章までと乱数の項目は一通り読みました。・ライブラリを使っている場合は何を使っているかすいませんライブラリが何かわかりません。答えられる範囲でどれか一つでもいいので教えていただけると幸いです。ここの掲示板は初利用なのでテンプレを使わせていただきます。何か足りない情報があれば追記します。自分が今行いたい事は何かー1から100までの乱数をー1が出るまで表示し続けるプログラムを作りたいです。「9行目」で記述エラーを発見しました。sizeと出たので適当にrandom[]の中に100を入れてみて実行すると「12行目」で記述エラーを発見しました。「pointer」を付け忘れています。出てわからなくなりました。そこで、ポインタ変数でも使ってみようと思い図2を実行すると「12行目」で記述エラーを発見しました。「lvalue」を付け忘れています。出て調べてみると左辺がいけないかなんからしいですがいまいちピンときません。今何がわからないのか、知りたいのか今回知りたいのは・どうすれば配列の個数を定数ではなくー1が出るまでの個数に設定できるのか。・他に「こういう質問する人はここ勘違いしてるだろうな」ということについてのアドバイスなどあると嬉しいです。・どの程度C言語を理解しているか始めて三週間程度苦しんで覚えるc言語というところで独学でやってます。http://9cguide.appspot.com/index.htmlここで二十章までと乱数の項目は一通り読みました。・ライブラリを使っている場合は何を使っているかすいませんライブラリが何かわかりません。答えられる範囲でどれか一つでもいいので教えていただけると幸いです。ミクプラは自由にリンクできます。