このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1288531658/41
#  [1] 授業単元:C言語 
#  [2] 問題文(含コード&リンク):以下の手順でプログラムを作成せよ 
#  a)実数型配列内の最大値を求める関数MAXを作成(引数は実数型配列とその要素数とし、戻り値は最大値) 
#  b)実数型配列内の最大値の要素番号を返す関数INDEXを作成(引数は実数型配列とその要素数,戻り値は最大値の要素番号) 
#  c)a,bで作成した関数を呼び出して、配列内の最大値・要素番号を求めるプログラムを作成せよ 
#  

最大値([A|_ならび],_最大値の要素番号,_最大値) :-
        最大値(_ならび,[_],[_],A,_最大値の要素番号,_最大値).

最大値([],_,_これまでの最大値の要素番号ならび表現,_最大値,_最大値の要素番号,_最大値) :-
        length(_これまでの最大値の要素番号ならび表現,_最大値の要素番号),!.
最大値([A|R1],_要素番号ならび,_これまでの最大値の要素番号ならび表現,_これまでの最大値,_最大値の要素番号,_最大値) :-
      A @> _これまでの最大値,
      最大値(R,[_|_要素番号ならび],_要素番号ならび,A,_最大値の要素番号,_最大値).
最大値([A|R1],_要素番号ならび,_これまでの最大値の要素番号ならび表現,_これまでの最大値,_最大値の要素番号,_最大値) :-
      A @=< _これまでの最大値,
      最大値(R,[_|_要素番号ならび],_これまでの最大値の要素番号ならび表現,_これまでの最大値,_最大値の要素番号,_最大値).