ページ 11

a

Posted: 2010年6月28日(月) 09:48
by 初心者
a 画像

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 11:00
by fatens
コンパイルエラーの文章は読みましたか?
1. char *massege[/url] = {"user の勝ち","userの負け","引き分け"}; ←messageの綴りミス
2. printf("じゃんけんぽん\n0がグー\n1がチョキ\2がパー\n") ←セミコロンがない
3. if (user < 0 || user > END) { ←ENDが定義されていない


エラーしか見ていませんでしたが、根本的な間違いが多いように思います。
もう一度作り直してみてはどうでしょうか。

画像

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 11:31
by fatens
上にも書きましたが、コンパイルエラーを消しても、このプログラムでは正常に動作しません。
プログラムの仕様を説明してもらえると指摘しやすいです。

それといくつか確認を。
1. 3次元配列を使う必要があるのか
2. 多次元配列へのアクセスの方法が理解できているか
3. printf 関数の使い方が理解できているか(\2はともかく%sの意味)


あと、初心者というお名前は重複していますので、ユニークなものに変更するようにしてください。


追記
int te[3][3] = {{2,1,0},
{0,2,1},
{1,0,2}};
これは2次元配列ですね。見間違いました。
ということで1,2は無視してください。
画像

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 17:30
by KEYONN_
過去のスレッドで私が作ったプログラムを改良してみてはどうでしょうか?

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define GUU 0
#define CYOKI 1
#define PAA 2

int main(void)
{
char Guu[3][20]={"アイコです。","勝ちです。","負けです。"};
char Cyoki[3][20]={"負けです。","アイコです。","勝ちです。"};
char Paa[3][20]={"勝ちです。","負けです。","アイコです。"};
char janken[3][20]={"グー","チョキ","パー"};
int input,com;
printf("じゃんけんゲームです。\n");
srand(time(NULL));
while(1)
{
printf("手を入力してください。\n(0:グー,1:チョキ,2:パー)->");
scanf("%d",&input);
com=rand()%3;
printf("コンピュータは%sを出しました。\n",janken[com]);
if(input==GUU){printf("%s\n",Guu[com]);}
else if(input==CYOKI){printf("%s\n",Cyoki[com]);}
else if(input==PAA){printf("%s\n",Paa[com]);}
}

}

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 19:49
by 初心者高校生
fatensさんが指摘してくれた通りにしてみたら、コンパイルはできました。
が、最後の

printf("あなたの手:%s\n", te[use[/url]);
printf("私の手:%s\n", te[com]);

でうまくジャンケンの手が表示してくれませんでした。やはり、%sの理解不足ということなのでしょうか。

追記
プログラムの仕様ですがルックアップテーブルというものを使ってソースファイルを簡単化するというものです。
3次元配列ではなくて2次元配列というのですね。
他は特には言われていません。 画像

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 19:55
by シエル
%sは文字列を表示するためのものですよ。

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 20:01
by 初心者高校生
>>TKOZさん
ありがとうございます。参考にさせていただきます。

>>シエルさん
ですよね。
そうでしたら上記のソースファイルで間違ってはいないような気がするのですが。
ご指摘の方お願いいたします。

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 20:32
by シエル
では、teっていう配列は何型ですか?

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 20:39
by 初心者高校生
>>シエルさん
2次元ですよね。スレタイを間違えてしまいました。

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月28日(月) 20:41
by シエル
いやそうではなくて、何型かを聞いてるんですが…
int型とかdouble型とかのことです。

Re:3次元配列を用いたジャンケンプログラム

Posted: 2010年6月29日(火) 07:27
by Dixq (管理人)
> 初心者高校生さん

記事を削除するのは規約違反になってしまいます。
ですので説明無く削除された記事は元に戻すことになっています。
どうして削除されたのでしょうか?
もしもう解決されたのでしたらせめて回答して下さった方々にお礼を言ってトピックを閉じて下さい。