From 978c766d38b5aabb7d7199ac35a55d54da8bde60 Mon Sep 17 00:00:00 2001 From: Marius Frinken <m-frinken@gmx.de> Date: Thu, 15 Nov 2018 19:16:19 +0100 Subject: [PATCH] improved tips.pl --- Marius/uebung03/tips.pl | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Marius/uebung03/tips.pl b/Marius/uebung03/tips.pl index 4e8a794..f57c206 100644 --- a/Marius/uebung03/tips.pl +++ b/Marius/uebung03/tips.pl @@ -20,8 +20,20 @@ tag_and_process(List):- %Prolog offers multiple ways of sorting, this is one +% will delete duplicates +% comp_triples(Delta, (C1,_,_),(C2,_,_)):- +% compare(Delta,C1,C2). + +%more complicated version that allows for equal values and does not offer faulty backtracking comp_triples(Delta, (C1,_,_),(C2,_,_)):- - compare(Delta,C1,C2). + ( + C1==C2 -> %if C1 has the same value as C2 , == does not unify + Delta = >; + compare(Delta,C1,C2) + ). + +% line 31 is a "dirty" hack, if C1 equals C2 we still answer > "greater" +% else, we use the built-in compare in line 32 my_sort(ListOfTriples, SortedListOfTriples):- predsort(comp_triples,ListOfTriples,SortedListOfTriples). -- GitLab