|
||
---|---|---|
.. | ||
README.md | ||
zip.hs |
README.md
Aufgabe 1 - Rekursive Implementierung von zip
Ziel der Aufgabe
Implementiere die Funktion zip
rekursiv. Die Funktion nimmt zwei Listen und gibt eine Liste von Paaren zurück, wobei jeweils das erste Element der ersten Liste mit dem ersten Element der zweiten Liste kombiniert wird.
Signatur
myZip :: [a] -> [b] -> [(a, b)]
Beispiel Testfäle
myZip [1,2,3] ['a', 'b', 'c'] -- [(1, 'a'), (2, 'b'), (3, 'c')]
myZip [1,2] ["eins", "zwei", "drei"] -- [(1, "eins"), (2, "zwei")]
myZip [True, False] [1,2,3] -- [(True,1), (False,2)]
myZip [] [1,2,3] -- []
myZip [1,2,3] [] -- []
Anforderungen
- Nutze Rekursion zur Implementierung
- Nutze kein zip aus der Standardbibliothek
- Die Funktion soll enden, sobald eine der beiden Listen leer ist
Hinweise
Klicke auf den Pfeil für Hinweise
- Der Basisfall tritt ein, wenn eine der Listen leer ist
- Kombiniere das erste Element beider Listen zu einem Tupel und rufe zip rekursiv für die restlichen Elemente auf