ページ 1 / 1
ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 20:07
by 居候
初めまして、C言語初心者です。
大学の課題でわからないところがあったので質問に来ました。
出た課題は
---------------------------------------
5×5の行列にダブりなく0~99の範囲内の整数乱数を入れ、それを出力し、
さらに、ユーサに0~99の数を一つ入力させ、入力した数が行列内にあるかどうかを出力し、
ある場合はその行と列の番号も出力するプログラムを作れ
---------------------------------------
というもので
25個乱数を出力することはできましたが(教授がくれたヒントを参照した)
それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません
参考になるサイトや、ちょっとした助言でもいいのでよろしくお願いします。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 20:20
by non
居候 さんが書きました:25個乱数を出力することはできましたが(教授がくれたヒントを参照した)
そのプログラムを添付してください。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 20:26
by 居候
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 25
int main(void)
{
int i, a;
/* srandom(time(NULL)); */
for(i = 1; i <=N; i++){
a = random();
printf("a = %d\n", a);
}
return 0;
}
これでいいのでしょうか?
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 20:56
by box
居候 さんが書きました:
これでいいのでしょうか?
これでいいのでしょうか、とは、添付のやり方のことですか?
それとも、コードの内容のことですか?
前者なら、codeタグを使ってください。
後者なら、ご自分のところでコンパイル~実行してみてください。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 21:14
by 居候
すみません前者です
言葉足らずでした
コード:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 25
int main(void)
{
int i, a;
/* srandom(time(NULL)); */
for(i = 1; i <=N; i++){
a = random();
printf("a = %d\n", a);
}
return 0;
}
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 21:19
by box
それでは、コンパイル~実行した結果はどうなりましたか?
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 21:47
by 居候
コンパイルした結果
a = 1804289383
a = 846930886
a = 1681692777
a = 1714636915
a = 1957747793
a = 424238335
a = 719885386
a = 1649760492
a = 596516649
a = 1189641421
a = 1025202362
a = 1350490027
a = 783368690
a = 1102520059
a = 2044897763
a = 1967513926
a = 1365180540
a = 1540383426
a = 304089172
a = 1303455736
a = 35005211
a = 521595368
a = 294702567
a = 1726956429
a = 336465782
と25個の数字が出てきました
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 21:49
by non
居候 さんが書きました:
それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません
0~99にするにはですが・・・
今、あなたが出力した乱数値の範囲はいくらなのでしょうか?
私のコンパイラでは、エラーになるので確認できませんので。
仮にそれが、0~RAND_MAXの範囲の整数値なら、その乱数値を(RAND_MAX+1)で割り、100倍して整数化します。
そこまで、できたら、添付してください。
ついでに
5×5の行列にする方法ですが、ここで、行列とは配列と考えてよいでしょうか?
また、コンパイラ等の環境を示してください。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 21:57
by 居候
non さんが書きました:居候 さんが書きました:
それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません
0~99にするにはですが・・・
今、あなたが出力した乱数値の範囲はいくらなのでしょうか?
私のコンパイラでは、エラーになるので確認できませんので。
仮にそれが、0~RAND_MAXの範囲の整数値なら、その乱数値を(RAND_MAX+1)で割り、100倍して整数化します。
そこまで、できたら、添付してください。
ついでに
5×5の行列にする方法ですが、ここで、行列とは配列と考えてよいでしょうか?
また、コンパイラ等の環境を示してください。
範囲の指定はしてない・・・はずです
教授のヒントに10個の乱数を発生させるプログラムが載ってたので
defineのNの値を25に変えただけなんです。
配列だと思います。
コンパイラの環境ってのがわからないです
リナックスのコンソールでやってます、ということしかわからないです
すみません
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 22:04
by non
>範囲の指定はしてない・・・はずです
乱数ってのは指定しなくても、範囲があります。
わからないなら別の方法にしましょう。
乱数を 100で割った余りを求めれば 0~99になります。
試してみてください。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 22:16
by 居候
non さんが書きました:>範囲の指定はしてない・・・はずです
乱数ってのは指定しなくても、範囲があります。
わからないなら別の方法にしましょう。
乱数を 100で割った余りを求めれば 0~99になります。
試してみてください。
すみません書いてありました
引数なしのrandom()が呼び出される毎に0~(2^31)-1(=2147483647)の範囲で返すそうです。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月18日(月) 22:21
by non
結構、大きい数なので、余りを求める方法の方がいいでしょう。
できたら、プログラムを載せてください。
それに、配列の宣言もしておいてください。
Re: ビンゴゲームの下準備のようなもの?
Posted: 2011年7月19日(火) 02:05
by 居候
いろいろこねくり回してたらなんとかできました。
返信遅れて申し訳ありません
ありがとうございました