ビンゴゲームの下準備のようなもの?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
居候

ビンゴゲームの下準備のようなもの?

#1

投稿記事 by 居候 » 14年前

初めまして、C言語初心者です。
大学の課題でわからないところがあったので質問に来ました。

出た課題は
---------------------------------------
5×5の行列にダブりなく0~99の範囲内の整数乱数を入れ、それを出力し、
さらに、ユーサに0~99の数を一つ入力させ、入力した数が行列内にあるかどうかを出力し、
ある場合はその行と列の番号も出力するプログラムを作れ
---------------------------------------
というもので
25個乱数を出力することはできましたが(教授がくれたヒントを参照した)
それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません

参考になるサイトや、ちょっとした助言でもいいのでよろしくお願いします。

non
記事: 1097
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#2

投稿記事 by non » 14年前

居候 さんが書きました:25個乱数を出力することはできましたが(教授がくれたヒントを参照した)
そのプログラムを添付してください。
non

居候

Re: ビンゴゲームの下準備のようなもの?

#3

投稿記事 by 居候 » 14年前

#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;
}


これでいいのでしょうか?

box
記事: 2002
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#4

投稿記事 by box » 14年前

居候 さんが書きました: これでいいのでしょうか?
これでいいのでしょうか、とは、添付のやり方のことですか?
それとも、コードの内容のことですか?

前者なら、codeタグを使ってください。
後者なら、ご自分のところでコンパイル~実行してみてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

居候

Re: ビンゴゲームの下準備のようなもの?

#5

投稿記事 by 居候 » 14年前

すみません前者です
言葉足らずでした

コード:

#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;
}

box
記事: 2002
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#6

投稿記事 by box » 14年前

それでは、コンパイル~実行した結果はどうなりましたか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

居候

Re: ビンゴゲームの下準備のようなもの?

#7

投稿記事 by 居候 » 14年前

コンパイルした結果

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個の数字が出てきました

non
記事: 1097
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#8

投稿記事 by non » 14年前

居候 さんが書きました: それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません
0~99にするにはですが・・・
今、あなたが出力した乱数値の範囲はいくらなのでしょうか?
私のコンパイラでは、エラーになるので確認できませんので。
仮にそれが、0~RAND_MAXの範囲の整数値なら、その乱数値を(RAND_MAX+1)で割り、100倍して整数化します。
そこまで、できたら、添付してください。

ついでに
5×5の行列にする方法ですが、ここで、行列とは配列と考えてよいでしょうか?
また、コンパイラ等の環境を示してください。
non

居候

Re: ビンゴゲームの下準備のようなもの?

#9

投稿記事 by 居候 » 14年前

non さんが書きました:
居候 さんが書きました: それを0~99にする方法と
5×5の行列にする方法が皆目見当がついていません
0~99にするにはですが・・・
今、あなたが出力した乱数値の範囲はいくらなのでしょうか?
私のコンパイラでは、エラーになるので確認できませんので。
仮にそれが、0~RAND_MAXの範囲の整数値なら、その乱数値を(RAND_MAX+1)で割り、100倍して整数化します。
そこまで、できたら、添付してください。

ついでに
5×5の行列にする方法ですが、ここで、行列とは配列と考えてよいでしょうか?
また、コンパイラ等の環境を示してください。
範囲の指定はしてない・・・はずです
教授のヒントに10個の乱数を発生させるプログラムが載ってたので
defineのNの値を25に変えただけなんです。

配列だと思います。

コンパイラの環境ってのがわからないです
リナックスのコンソールでやってます、ということしかわからないです
すみません

non
記事: 1097
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#10

投稿記事 by non » 14年前

>範囲の指定はしてない・・・はずです

乱数ってのは指定しなくても、範囲があります。
わからないなら別の方法にしましょう。

乱数を 100で割った余りを求めれば 0~99になります。
試してみてください。
non

居候

Re: ビンゴゲームの下準備のようなもの?

#11

投稿記事 by 居候 » 14年前

non さんが書きました:>範囲の指定はしてない・・・はずです

乱数ってのは指定しなくても、範囲があります。
わからないなら別の方法にしましょう。

乱数を 100で割った余りを求めれば 0~99になります。
試してみてください。
すみません書いてありました
引数なしのrandom()が呼び出される毎に0~(2^31)-1(=2147483647)の範囲で返すそうです。

non
記事: 1097
登録日時: 15年前

Re: ビンゴゲームの下準備のようなもの?

#12

投稿記事 by non » 14年前

結構、大きい数なので、余りを求める方法の方がいいでしょう。
できたら、プログラムを載せてください。
それに、配列の宣言もしておいてください。
non

居候

Re: ビンゴゲームの下準備のようなもの?

#13

投稿記事 by 居候 » 14年前

いろいろこねくり回してたらなんとかできました。
返信遅れて申し訳ありません
ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る