![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
この下で、「Cでプログラムを書くときに、ある単語Wの後ろにくる可能性のある単語はW[10]の中に格納されてあり、その中のW[0]の後ろにくる可能性のある単語はW[0][10]のなかに格納されてあり、またW[0][0]の後ろにくる可能性のある単語がW[0][0][10]の中に格納されているとき、長さが4以下の可能な全ての文を出力するにはループをどんなふうに回せばいいでしょうか?」と質問して教えていただいたんですけど、後ろにくる可能性のある単語が3回だけではなくて、N-1回続いた場合、単語Wから始まってN個以下の単語からなる文を出力するにはどうすればいいか、もう一回よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ANo.1さんの言われるように、単語を保存するためのデータ構造は非常に重要です。
そのデータ構造の設計の仕方によっては、質問者の意図する処理がとても簡単に書けたりします。
今回も質問内容は、「いかにループを回すか」と言うことですので、データ構造についての詳細は省略します。
ループには再帰処理を使うとよいでしょう。
今ある文に単語を一つ追加して出力するという関数を準備して、その関数の中で自分自身を呼び出していくことによって、単語数を伸ばしていくという考えです。
処理のイメージをつかんでいただけたら幸いです。
void main()
{
// 最初は先頭の単語1つから
Comp("", W, 1);
}
// 次の単語をつなげて出力するための再帰関数
// string, words は仮想のデータ型です
void Comp(string sentence, words W, int numwords)
{
// 現在の文に次の単語をつなげる
sprintf(new_sentence, "%s %s\n", sentence, W);
printf(new_sentence);
// 単語数がN個になっていなければ次の単語をつなげる
if (numwords < N){
for (i = 0; i < 10; i++){
Comp(new_sentence, W[i], numwords+1);
}
}
}
No.1
- 回答日時:
データ構造(リンクリスト)の基礎を勉強することをお勧めします。
また、質問を中途半端な説明しかできないのであれば、具体的に何をしたいか書かれることもお勧めしておきます。
この回答への補足
質問の書き方が悪くてすみません。
具体的にいうと、「ある単語Wの後ろにくる可能性のある単語は10個(W[10])あって、その10個の単語それぞれの後ろにくる可能性のある単語がまた10個ずつ(W[10][10])あって、またそれらの100個の単語それぞれの後ろにくる可能性のある単語が10個ずつというふうに(n-1)回繰り返されたときに、単語Wから始まってN個以下の単語からなる全ての文を出力するにはループをどのように回せばいいでしょうか」ということです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 明治大学受験、もう一冊、英単語張をやるか? 4 2022/10/23 20:50
- 英語 共通の前置詞の目的語を持つ前置詞句を列挙する際の表現方法について(省略の位置と方法) 3 2023/08/24 09:40
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- 学校 同じクラスの子が英語の小テストで単語帳をチラチラ見ており、先生にカンニングするなと注意されていたので 2 2023/07/16 20:06
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- 教えて!goo 【回答が書きにくいのはなぜ】投稿内容に不適切な表現など・(中略)・投稿内容の修正をお願いいたします 9 2023/05/09 08:41
- 英語 高校生です。 英語の模試まで3週間くらいなんですけど シス単をいま1200まで覚えてます 1700ま 6 2022/09/04 07:10
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- 英語 1単語及び2単語の「no~」を受ける単語について 1 2022/11/07 11:54
- 英語 「名詞+形容詞/現在分詞/過去分詞+to不定詞の副詞的用法」の語順について 7 2022/09/22 05:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XAJAX
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
テキストボックスの値を変数に...
-
C言語 列挙型(enum型)変数について
-
VBAのWorksheetFunctionの引数...
-
VisualStudio2022でC言語プログ...
-
【エクセル】 関数による電子...
-
数値を浮動小数点32bitHEXコー...
-
Excel-vba 文字列と変数を...
-
「%」を使って、偶数か奇数かを...
-
C#で動的にコントロールを取得...
-
Accessで文字列のバイト数読み込み
-
フォームを開くときに、コンボ...
-
ラジオボタンの値の取得につい...
-
for the first timeとfirst tim...
-
変数宣言と初期値代入の場所に...
-
負の二進数
-
コマンドプロンプト バッチ|結...
-
アンダーバーとバックスラッシュ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語でしりとりのプログラムを...
-
異なる文字列のマッチングを、D...
-
全ての可能な文の生成について2
-
カウント配列
-
検索でヒットさせたくない
-
単語の頻度プログラム
-
<a href=…>がうまくいかない
-
文字列の比較のはずなのに・・・
-
CGI.pmによるプルダウンメニ...
-
表記のゆれを吸収する方法
-
解析機能の拡張について
-
emacsで辞書補完
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
だれがとけるの?
-
jsp~jspにhiddenを使って変数...
-
excelの、ある数式内の{}の意...
-
テキストボックスの値を変数に...
おすすめ情報