このディレクトリの索引
c152-968#
このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/968
#  [1] 授業単元: プログラミング 
#  [2] 問題文(含コード&リンク):文字列st の中に含まれる文字ch の個数(含まれて 
#  いなければ0 とする)を返す関数 
#  int str_chnum(const char st[], int ch) 
#  を作成せよ.以下の実行例のように,関数の動作を確認 
#  例.文字列を入力してください:Koukadai 
#    検索する文字を入力してください:a 
#    その文字は2 個含まれています。 
#   
#   

'文字列st の中に含まれる文字ch の個数(含まれていなければ0 とする)を返す'(_st,_ch,_文字の個数) :-
        count(sub_atom(_st,_,1,_,_ch),_個数).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

count(P,N) :-
        findsum(1,P,F),
        N is truncate(F) .

findsum(_選択項,_項,_合計値) :-
        findall(_選択項,_項,_値ならび),
        sum(_値ならび,_合計値),!.

sum([],0).
sum([N|R],S) :-
        sum(R,S2),
        S is N + S2.