このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1349527750/603
#  [1]C/C++プログラミング実習  
#  [2]問題 http://ime.nu/codepad.org/IbHwR87p 
#  [3]visual studio 2010 
#  [4]11月12日 10時 
#  [5]ファイルを読み取って書き換えてtxtファイルに出力するというものですが 
#    私には難しすぎてわかません。どなたか助けてくれれば幸いです。 
#   
#  /*
#  あるtxtファイルにファイル名とランダムな数字で書かれた多数の数列がある。
#  
#  例
#  caltech10/accordion-0001.jpg 1  0  2  0  1  0...
#  caltech10/accordion-0002.jpg 1  2  7  0  0  3...
#  caltech10/accordion-0003.jpg 0  0  2  199  0  3...
#  caltech10/accordion-0004.jpg 0 0 0 0 5 1...
#  ・
#  ・
#  このtxtファイルを読み取って
#  ファイル名を削除し右から順に番号を振った上で要素が0のものを削除し書き換え
#  txtファイルに出力するプログラムを作れ。
#  
#  実行例
#  1:1 3:2 5:1…
#  1:1 2:2 3:7 6:3…
#  3:2 4:199 6:3....
#  5:5 …
#  
#  必ず 番号:数値?番号:数値?番号:数値?…
#  という形にすること
#  
#  */
#  

'あるtxtファイルにファイル名とランダムな数字で書かれた多数の数列がある。
lこのtxtファイルを読み取って
ファイル名を削除し右から順に番号を振った上で要素が0のものを削除し書き換え
txtファイルに出力する' :-
        'あるtxtファイルにファイル名とランダムな数字で書かれた多数の数列がある。このtxtファイルを読み取ってファイル名を削除し右から順に番号を振った上で要素が0のものを削除し書き換えtxtファイルに出力する'.

'あるtxtファイルにファイル名とランダムな数字で書かれた多数の数列がある。このtxtファイルを読み取ってファイル名を削除し右から順に番号を振った上で要素が0のものを削除し書き換えtxtファイルに出力する' :-
         get_split_lines('あるファイル.txt',[' '],LL),
         ファイル名を削除し(LL,LL1),
         右から順に番号を振った上で(LL1,LL2),
         要素が0のものを削除し書き換え(LL2,LL3),
         書き換えtxtファイルに出力する(LL3).

ファイル名を削除し([],[]).
ファイル名を削除し([[_|L1]|R1],[L1|R2]) :-
        ファイル名を削除し(R1,R2).

右から順に番号を振った上で([],[]).
右から順に番号を振った上で([L1|R1],[L2|R2]) :-
        findall(N-A,(
                    append(_,[A|R],L1),
                    length([_|R],N)),
               L2),
        右から順に番号を振った上で(R1,R2).

要素が0のものを削除し書き換え([],[]).
要素が0のものを削除し書き換え([N-0|R1],R2) :-
        要素が0のものを削除し書き換え(R1,R2).
要素が0のものを削除し書き換え([N:A|R1],[N-A|R2]) :-
        \+(A = 0),
        要素が0のものを削除し書き換え(R1,R2).

書き換えtxtファイルに出力する(LL3) :-
        open('書き換え.txt',write,Outstream),
        append(_,[L|R],LL3),
        行要素を出力する(Ountstream,L),
        R = [],
        close(Outstream).

行要素を出力する(Outstream,[]) :-
        writef(Outstream,'\n').
行要素を出力する(Outstream,[N:A|R]) :-
        writef(Outstream,'%t:%t  ',[N,A]),
        行要素を出力する(Outstream,R).