このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 128代目 #757 # 【質問テンプレ】 # [1] 授業単元:C言語 # [2] 問題文(含コード&リンク): 二次元配列を使って以下のファイルを読み込み、 # 同じように表示しなさい。 #  【test.dat】 #   ** ** ** #   ** ** ** #   ** ** ** '二次元配列を使って以下のファイルを読み込み、 同じように表示しなさい。  【test.dat】   ** ** **   ** ** **   ** ** ** '(_ファイル) :- 'ファイルを確保して二次元構造の読み込み'(_ファイル,_二次元構造), '   ** ** **   ** ** **   ** ** ** のように表示する'(_二次元構造). 'ファイルを確保して二次元構造の読み込み'(_ファイル,_二次元構造) :- open(_ファイル,read,_入力), 二次元構造の読み込み(_入力,_二次元構造), close(_入力) 二次元構造の読み込み(_入力,[]) :- at_end_of_stream(_入力),!. 二次元構造の読み込み(_入力,_二次元構造) :- at_end_of_streamを検出するまで二次元構造を読み込んで行く(_入力,_二次元構造). at_end_of_streamを検出するまで二次元構造を読み込んで行く(_入力,[L|_二次元構造]) :- readln(_入力,L), 二次元構造の読み込み(_入力,_二次元構造). '   ** ** **   ** ** **   ** ** ** のように表示する'(_二次元構造) :- forall( 一行の配列表示文字列を(_二次元構造,_表示文字列), 一行表示(_表示文字列)). 一行の配列表示文字列を(_二次元構造,_表示文字列) :- member(L,_二次元構造), 三桁に揃えて行を構成する(L,_表示文字列). 三桁に揃えて行を構成する(L,_表示文字列) :- 表示要素を三桁に揃える(L,L2), atomic_list_concat(L2,' ',_表示文字列). 表示要素を三桁に揃える(L,L2) :- findall(_三桁文字列,( 'Lの要素を三桁に揃える'(L,_三桁文字列)),L2). 'Lの要素を三桁に揃える'(L,_三桁文字列) :- member(N,L), 三桁文字列(N,_三桁文字列). 三桁文字列(N,X) :- '整数を文字列に変換して、その先頭に三桁の空白を付けて、その上でその文字列の下三桁を得る'(N,_三桁文字列). '整数を文字列に変換して、その先頭に三桁の空白を付けて、その上でその文字列の下三桁を得る'(N,_三桁文字列) :- '整数を文字列に変換して、'(N,_文字列), 'その先頭に三桁の空白を付けて、その上でその文字列の下三桁を得る'(_文字列,_三桁文字列). '整数を文字列に変換して、'(N,_文字列) :- atom_number(_文字列,N). 'その先頭に三桁の空白を付けて、その上でその文字列の下三桁を得る'(_文字列,_三桁文字列) :- 'その先頭に三桁の空白を付けて、'(_文字列,_先頭に三桁の空白が付いた文字列), 'その上でその文字列の下三桁を得る'(_先頭に三桁の空白が付いた文字列,_三桁文字列). 'その先頭に三桁の空白を付けて、'(_文字列,_先頭に三桁の空白が付いた文字列) :- atom_concat(' ',_文字列,_先頭に三桁の空白が付いた文字列). 'その上でその文字列の下三桁を得る'(_先頭に三桁の空白が付いた文字列,_三桁文字列) :- sub_atom(先頭に三桁の空白が付いた文字列,_,3,0,_三桁文字列). 表示する(_表示文字列) :- writef('%w\n',[_表示文字列]).