このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 148代目 #848 # すいませんおねがいします。日曜までです。 # # # String型の配列として与えられた人の名前を全て使って「しりとり」を作りましょう。 # 参考資料ファイルを自分のプロジェクトにコピーもしくはインポートし、50音順で並んでいる配列をしりとりの原理で並び替え、出力するプログラムを作成してください。 # -----------Original NameList----------- # ごりら # らっぱ # りんご # -----------Sorted NameList----------- # りんご # ごりら # らっぱ # # 単語は適当に自分がうめるのでプログラミングそのものだけつくってもらえませんか? # # # # ---------------------- 'Original NameList'(ごりら). 'Original NameList'(らっぱ). 'Original NameList'(りんご). しりとり :- 催促付き行入力('最初の言葉をすべてで入力してください : ',_言葉), しりとり([],_言葉,_しりとり), しりとりを反転して表示する(_しりとり). しりとり(_すでに使った言葉ならび,_言葉,_しりとり) :- 言葉の最終文字と次の言葉候補の第一文字が同じ(_既に使った言葉ならび,_言葉,_次の言葉,_しりとり). しりとり(_しりとり,_,_しりとり). 言葉の最終文字と次の言葉候補の第一文字が同じ(_既に使った言葉ならび,_言葉,_次の言葉,_しりとり) :- 言葉の最終文字と(_言葉,_言葉の最終文字), 次の言葉候補の第一文字が同じ(_言葉の最終文字,_次の言葉,_しりとり), しりとり([_次の言葉|_すでに使った言葉ならび],_次の言葉). '次の言葉候補は未使用であり、第一文字が言葉の最終文字と同じ'(_既に使った言葉ならび,_言葉の最終文字,_次の言葉) :- '次の言葉候補は未使用であり、'(_既に使った言葉ならび,_次の言葉), 第一文字が言葉の最終文字と同じ'(_言葉の最終文字,_次の言葉). '次の言葉候補は未使用であり、'(_既に使った言葉ならび,_次の言葉) :- 'Original NameList'(_次の言葉), \+(member(_次の言葉,_既に使った言葉ならび)). 第一文字が言葉の最終文字と同じ'(_言葉の最終文字,_次の言葉) :- sub_atom(_次の言葉,0,1,_,_言葉の最終文字), writef('%w\n',[_次の言葉]). 催促付き行入力(_催促,_言葉) :- 催促付き(_催促), 行入力(_言葉). 催促付き(_催促) :- writef('%w',[_催促]), flush. 行入力(_行) :- read_line_to_codes(current_input,_文字コードならび), atom_codes(_行,_文字コードならび). しりとりを反転して表示する(_しりとり) :- reverse(_しりとり,_反転したしりとり), writef('%w\n',[_反転したしりとり]).