こんにちは
現在、C言語でビンゴを作っています。
ランダムな数でマスを埋められることに成功したのですが、縦列を決まった数字の範囲で表示させたい場合、どうやって表示させるか案が浮かばず困っています。
例えば、一番左端の縦列を1~20の数字の範囲で表示させ、一番左端から2番目の縦列を21~40で表示させたいです。
下記コードの中で最後の出力させる箇所でうまくできないか配列の数字を変えてみたのですが同じ数が表示されるばかりで詰まってしまいました。
できるだけ現在のコードをいじらずに解決したいのですが、いい案がないか知恵をお貸しいただきたいです。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define BINGO_HEIGHT 5//縦5マス
#define BINGO_WEIGHT 5//横5マス
#define MAX_NUM 75//ビンゴの最大ナンバー数
int main(void)
{
int bingo[BINGO_HEIGHT][BINGO_WEIGHT];//ビンゴカード
int number[MAX_NUM];//ビンゴナンバー
int i;
for (i = 0; i < MAX_NUM; ++i) {//数値が被らないように乱数系列を変更 number[i] = i + 1; srand((unsigned)time(NULL));/* 乱数系列の変更 */ } for (i = MAX_NUM-1; i; --i) {//ビンゴナンバーに乱数を入れる int j = number[i]; int k = rand() % (i + 1);//乱数生成 number[i] = number[k]; number[k] = j;//0~74番目のアドレスをランダムな数値で更新 } for (i = 0; i <BINGO_HEIGHT; ++i) {//ビンゴカードのマスを生成した数値で埋める int j; for (j = 0; j <BINGO_WEIGHT; ++j) { printf("%2d ", bingo[i][j] = number[i*5+j]);//出力 } putchar('\n'); } return 0;
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/30 12:29