このディレクトリの索引

http://pc12.2ch.net/test/read.cgi/tech/1232627790/958 
# 【 課題 】テキストファイルから文字列5行を読み込み、別のテキストへ右縦書きで書き出す 
# 【 形態 】1. Javaアプリケーション(main()で開始) 
# 【 期限 】7/14 am6:00 
# 【 Ver  】Eclipse Version: 3.4.2 
# 【 補足 】 
# あいう 
# かきく 
# さしす 
# 上記のようなテキストファイルを読み込み、 
# さかあ 
# しきい 
# すくう 
# のように別のテキストファイルに書き出す感じです。 

テキストファイルから文字列5行を読み込み、別のテキストへ右縦書きで書き出す(InFile,OutFile) :-
    open(InFile,read,Input),
    open(OutFile,write,Output),
    findall(Chars,(for(1,N,5),get_line(InFile,_行),atom_chars(_行,Chars)),LL),
    findmax(Len,length(Chars,Len),Max),
    空白文字を付加して文字数一致させる(Max,LL,LL2),
    行列の転置(LL2,LL3),
    右書き用に反転して出力ファイルに書き出す(Output,LL3).

右書き用に反転して出力ファイルに書き出す(Output,[]) :- close(Output),!.
右書き用に反転して出力ファイルに書き出す(Output,[L|R]) :-
    reverse(L,L1),
    concat_atom(L1,S),
    write_formatted(Output,'%t\n',[S]),
    右書き用に反転して出力ファイルに書き出す(Output,R).

空白文字を付加して文字数を一致させる(Max,LL1,LL2) :-
    findall(L,(member(L1,LL1),length(L,Max),append(L1,L2,L),all(L2,' ')),LL2).

all([],_).
all([V|R],V) :- all(R,V).