Hallo,
ich habe ein Problem, da ich eine Liste die aus vielen Listen besteht durchlaufen möchte.
Diese sieht so aus:
[[2, f(eins),f(zwei)],[6,f(drei),f(vier)],[2,f(fünf),f(n)]].
Dabei soll der Head des Heads der Liste ([[H|_]|_]) jeweils mit dem Head der 2, und
der 3. Liste verglichen werden(die Integer). Es soll dann der höchste Wert festgestellt werden
und dann dieser ausgegeben werden.
Ich habe allerdings Probleme bei der Abbruchbedingung der Rekursion, da leere Liste ([]) nicht funktioniert. Wie durchlaufe ich den nur jeweils die Heads einer Liste rekursiv? Wie lautet denn die Abbruchbedingung?
Kann mir da jemand helfen und das eine oder andere Prädikat (Prüfprädikat) nennen?
Sorry, wenn diese Frage ein wenig trivial ist, aber ich bin noch unerfahren in Prolog.
Vielen Dank schonmal..
% Hier nur so in etwa:
laufe([]). % wie sieht die Abbruchbedingung aus?
laufe([[H|_]|_]):-
I=H,
laufe([[ .. ]]) % wie rufe ich jetzt den Tail auf, der wieder den nächsten Head hat?
ich habe ein Problem, da ich eine Liste die aus vielen Listen besteht durchlaufen möchte.
Diese sieht so aus:
[[2, f(eins),f(zwei)],[6,f(drei),f(vier)],[2,f(fünf),f(n)]].
Dabei soll der Head des Heads der Liste ([[H|_]|_]) jeweils mit dem Head der 2, und
der 3. Liste verglichen werden(die Integer). Es soll dann der höchste Wert festgestellt werden
und dann dieser ausgegeben werden.
Ich habe allerdings Probleme bei der Abbruchbedingung der Rekursion, da leere Liste ([]) nicht funktioniert. Wie durchlaufe ich den nur jeweils die Heads einer Liste rekursiv? Wie lautet denn die Abbruchbedingung?
Kann mir da jemand helfen und das eine oder andere Prädikat (Prüfprädikat) nennen?
Sorry, wenn diese Frage ein wenig trivial ist, aber ich bin noch unerfahren in Prolog.
Vielen Dank schonmal..
% Hier nur so in etwa:
laufe([]). % wie sieht die Abbruchbedingung aus?
laufe([[H|_]|_]):-
I=H,
laufe([[ .. ]]) % wie rufe ich jetzt den Tail auf, der wieder den nächsten Head hat?