
C言語でしりとりのプログラムを作ろうとしているのですが、基礎的なことがわからなくて…。
内容としては、
・’ん’がついたら終了
・一度使用した単語は使用不可(その場合も終了)
・先攻後攻はランダム
(ユーザー先攻:ランダムで最初の一文字を決める)
(COM先攻:ランダムで単語を出力)
・COMはあらかじめ用意した単語帳から単語を引用
・回数はCOMの単語が尽きるまで(その場合、ユーザーの勝利)
・終了後に使用した単語数のカウント
といった内容で作りたいのですが、
・あらかじめ単語を用意する方法
・単語の引用方法
がわかりません。
教えていただけますか??
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>・あらかじめ単語を用意する方法
ファイルに用意し、プログラム初期化時にファイル内容を
配列に格納する。
一度使ったかどうかを知る必要があるので
struct word_type{
char* word;
char isUsed;
};
のような構造体の配列になるかもしれません。
(使ったかどうか情報を単語数分だけ持つ配列を
別に用意してもいけると思います)
>・単語の引用方法
配列をfor文で回して、使用可能な単語
(ユーザが入力した単語末尾文字で始まり、かつ
まだ使用していない単語)があるか
調べます。該当単語を使ったらisUsedにフラグを
立てます。
No.2
- 回答日時:
回答ではないけど。
。。ユーザが入力したものがCOMの単語帳にも登録される(学習する)とインテリですね。
しりとりすれば単語帳も作れるし。
とはいえ、動的な単語帳はちょっと難易度が高い。
が、やってみるのもいいかもですね。
更に、プログラムが終了すると学習したものも消えちゃうから、ファイルに出力されるとか。
No.1
- 回答日時:
回答が大変なので、質問の部分のみ。
>・あらかじめ単語を用意する方法
>・単語の引用方法
これはプログラマーが人力で単語を事前に入力しておきます。
辞書のメンテナンスの良さから辞書ファイルとして単語を保持する専用のファイルを用意するのが良いでしょう。
これが3文字しりとりなら、テキスト形式でひらがな3文字を思いつく限り打ち込んでおきます。
辞書と言っても漢字やカタカナ表記はどうするのか?など疑問が思い浮かぶかもしれませんが、とりあえずユーザから受け付ける文字は「ひらがな」と考えます。
漢字や片仮名が混じっていたらどうするか?の対策は対応する文字に対して平仮名を表す辞書をペアで持つなど。
この仕様では必ず不具合が発生しますが、どんな不具合に遭遇するかは自身で経験をしてみてください。
過去の類似質問。
>COMとユーザの対話型しりとりプログラムです。
>https://oshiete.goo.ne.jp/qa/5870730.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 ソシュール言語観による品詞、単語、辞書理解の誤り 4 2022/11/24 12:27
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- 日本語 自立語/付属語という品詞区分の誤り 5 2022/09/05 00:20
- 大学受験 英単語帳について質問です。 たくさんの回答お待ちしております。 現在高3、産近甲龍志望です。 現在タ 5 2023/08/21 11:50
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 大学受験 大学受験の長文対策について 自分は、シス単だと順番で覚えたりしてしまうので、ランダムでシス単の単語を 2 2023/05/04 18:42
- 英語 英語の音読教材について教えてください 社会人のやり直し英語で、単語、文法、読解、英作文は一通り学習し 2 2023/08/04 19:38
- 大学受験 高3、march志望です。助けてください...! 古文の模試で3割しか取れませんでしたT^T 今から 6 2022/09/24 09:44
- 英語 ターゲット1900についてです。 単語がなかなか覚えられません。 例えばよく分からない長い単語だった 3 2022/08/27 19:49
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
visual studio 2022でのC#プロ...
-
VisualStudioでC++クラスを追加...
-
C言語について。
-
Windows Formアプリからコンソ...
-
UART通信の取説で,left floati...
-
gccを行ってもexeファイルが生...
-
C言語 解答について。
-
C言語の関数のextern宣言
-
C言語について。
-
c言語
-
License='MIT' ってなんでmitな...
-
ストリームについて。
-
【C言語】全角文字の配列を、全...
-
プログラマー達は何故、プログ...
-
PIC12F1822でLED調光器を作りたい
-
最初に聞かれたこと
-
C言語 関数、変数の宣言について
-
C言語について(初心者)
-
プログラミングc++を全く分か...
-
あってる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語でしりとりのプログラムを...
-
<a href=…>がうまくいかない
-
異なる文字列のマッチングを、D...
-
単語の出現頻度を求めるプログラム
-
単語の頻度プログラム
-
禁止ワードに設定できない文字
-
rubyのループ
-
検索でヒットさせたくない
-
CGI.pmによるプルダウンメニ...
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
Windows11のカメラで動画を撮り...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
配列の値を置換するにはどうす...
-
jsp~jspにhiddenを使って変数...
-
excelの、ある数式内の{}の意...
-
整数xxxが大き過ぎますというエ...
おすすめ情報