最初に、これは宿題として与えられたクラスの演習の一部であることを述べさせてください. ただし、課題全体は、この質問の主題よりもはるかに複雑です。そう..
述語に与えられた 2 つのリストを検索しています。私の目標は、このリスト内の対応する要素を比較し、最初の要素が大きいかどうかを判断することです。そうであれば、最終的にはそれらすべての項の合計を返す必要があります。これが私がこれまでに持っているものです:
isumrow([], [], Iresult) :-
Iresult is 0.
isumrow([Hi1row | Ti1row], [Hi2row | Ti2row], Iresult) :-
if((Hi1row - Hi2row), IsumDiff, Hi1row),
NewIresult is IsumDiff + Iresult,
isumrow(Ti1row, Ti2row, NewIresult),
Iresult is NewIresult.
if(Diff, Iresult, Entry) :-
Diff > 0,
Iresult is Entry.
if(_, Iresult, _) :-
Iresult is 0.
何らかの理由で、割り当てのどこかを台無しにしていて、どこにあるのかわかりません。ヒントをいただければ幸いです。繰り返しますが、これは私が取り組んでいるより大きな課題の一部ですが、これを取得できません。ありがとう