Heinzi1991
Erfahrenes Mitglied
Hallo liebe Community,
ich hab eine kleine Frage zu einem Programm (recht simpel und klein) von mir in Prolog.
Also einmal zur Aufgabenstellung:
"Schreiben Sie ein tail-rekursives Prädikat zip(L1,L2,R), welches aus den
Elementen Listen L1 und L2 ein Liste von Paaren pair erstellt, und diese in
R ausgibt. Sie können davon ausgehen das beide Listen die gleiche Länge haben."
Hier einmal mein Code:
Meine Lösung:
Richtige Lösung sollte so ausschauen:
Kann mir jemand sagen was ich falsch mache, den die Logik müsste ja stimmen, schaffe es einfach nicht das Pair reinzubekommen in die dritte Liste.
ich hab eine kleine Frage zu einem Programm (recht simpel und klein) von mir in Prolog.
Also einmal zur Aufgabenstellung:
"Schreiben Sie ein tail-rekursives Prädikat zip(L1,L2,R), welches aus den
Elementen Listen L1 und L2 ein Liste von Paaren pair erstellt, und diese in
R ausgibt. Sie können davon ausgehen das beide Listen die gleiche Länge haben."
Hier einmal mein Code:
Code:
zip(L1,[],L1):- !.
zip([],L2,L2):- !.
zip([H1|T1],[H2|T2],[H1,H2|T3]) :- zip(T1,T2,T3).
Meine Lösung:
Code:
R = [a, 1, b, 2, c, 3].
Richtige Lösung sollte so ausschauen:
Code:
R = [pair(a,1), pair(b,2), pair(c,3)]
Kann mir jemand sagen was ich falsch mache, den die Logik müsste ja stimmen, schaffe es einfach nicht das Pair reinzubekommen in die dritte Liste.