다음 목록이 있습니다 : [[1,1,3],[1,2,7],[1,3,9],[2,1,2],[2,2,7],[3,1,4]]
. 나는 목록의 각 요소의 처음 두 요소에만 관심이있다. 제대로하기 위해 구성 요소가 누락되었음을 알고 있습니다 (예 : [2,3,2]
). 목록에서 (b, c) b의 최대 값을 결정할 수 있습니다. 누락 된 요소를 올바른 위치에 삽입하고 싶습니다.목록에 누락 된 요소를 삽입하십시오.
work_list([],_,_,_).
work_list([[A,B,_]|F],Alast,Blast,Max):-
A==Alast, work_list(F,A,B,M).
work_list([[A,B,_]|F],Alast,Blast,Max):-
A>Alast, Blast<Max, work_list_miss(F,Alast,Blast,Max).
work_list_miss(F,Alast,Blast,Max):-
Blast<Max, Blast1 is Blast+1, add_list([Alast,Blast,1],F,FNew).
work_list_miss(F,Alast,Blast,Max):-
Blast=Max, Blast1, add_list([Alast,Blast,1],F,FNew), worklist(F,Alast,Blast,Max).
add_list(A,B,[A|B]).
그것은 작동하지 않습니다
나는 시작했다. 누구든지 도움을 줄 수 있습니까? 목록에 표시 할 때 : [[1,1,3],[1,2,7],[1,3,9],[2,1,2],[2,2,7],[2,3,1],[3,1,4]]
감사!
무엇 선언문 호출하면 어떻게해야합니까 비교하고 무엇에 집중하자 "작동하지 않는다"는 뜻입니까? – lurker
당신은 싱글 톤과 정의되지 않은 콜을 제거한 코드를 수정하고 다시 시도 할 수 있습니다 ... – CapelliC
나는 내가 보여주는리스트 결과를 얻지 못한다는 것을 의미합니다. – user3038679