
次のようなあみだくじをコマンドライン上に表示させるプログラムを作成せよ。なお、横線の引き方は通常のあみだくじに従う。また、横線およびあたりについては乱数
を使って実行ごとに変わることとする。
| | | |---|
| |---| | |
|---| | | |
| | | |---|
| | | |---|
| | |---| |
|---| | | |
| | |---| |
| | |---| |
|---| | | |
!!!
当たりのところは!!!です。解説とソースをよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
$ ./hoge
| |---| | |
|---| | | |
| | | |---|
|---| | | |
| | |---| |
|---| | | |
| | | |---|
| | | |---|
| | | |---|
| | | |---|
!!
$ cat hoge.c
#include <stdio.h>
void ladder(int pos)
{
int i;
for(i=0; i<6; i++){
if(i == pos){
printf("---");
}
else if(i+1 == pos){
printf("|");
}
else{
printf("| ");
}
}
printf("\n");
}
int main(int argc, const char *argv[])
{
srand(time(NULL));
int i;
for(i=0; i<10; i++)
ladder(rand()%4+1);
int goal = rand()%6;
for(i=0; i<goal; i++)
printf(" ");
printf("!!\n");
return 0;
}
かならず線を一本またいでるみたいですけど、これが「引き方は通常のあみだくじに従う」に
合致しているのでしょうか?
先生に聞いてみて下さい。
No.1
- 回答日時:
課題の答えを書く訳にはいかないので、ヒント程度とさせて下さい。
「表示させるプログラムを作成」なので、実際に動かす必要は無いと取れます。
簡単に考えましょう。
肝心のあみだくじについて、
縦線は5本、その縦線のうち隣合う2本の縦線の間に横線が一行毎に1個入っています。
一番左の縦線の左、または一番右の縦線の右には横線が入らない事から、乱数は何通り有れば良いかは分かりますね。
上記を10回繰り返した後に、次はゴールを書く。
ゴールの!!!の表示位置については、全角スペースを前に入れることで右にずらす事が出来ますね。
ってただ読んだだけですが、これをこの順でプログラムにすれば良いんじゃないでしょうか?
どうでもいい話ですが、
「コマンドラインでやる以上、縦線を全角で!を半角で表示させたとしても!が一個はみ出るので、美しくないです!」
って先生に付き返してみて下さい・x・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーについて
-
H8マイコンCでprintf/scanfが使...
-
「%n」や「%S」は何故恥ずかし...
-
C言語プログラミング
-
C言語の勉強しています。すみま...
-
C言語で四則演算を使って10を作...
-
ピラミッド表示プログラム。
-
ホームページをC言語で作りたい...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
Cプログラムについて
-
コマンドラインに出力した文字...
-
WM_CLOSEで閉じれないウィンド...
-
C言語の&に関する質問
-
すごろくに使用するサイコロ
-
文字と数字の判定について
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
%P と %X の違い
-
C言語の勉強しています。すみま...
-
strcmp
-
c言語でAからZまでを表示する...
-
unsigned int型について
-
(C言語)めちゃくちゃな値にな...
-
printf で二進表示を行いたい。
-
プログラミング C言語 課題でプ...
-
c言語で2000年以降カレンダーを...
おすすめ情報