Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Aufgabe 11.2a) (Fehlerhaft)
Hier ist meine fehlerhafte Lösung:
(define (reiss-zu links rechts)
(cond ((and (null? links) (null? rechts)) '())
((null? links) rechts )
((null? rechts) links )
(else (list (car links) (car rechts) (reiss-zu (cdr links) (cdr rechts)) ))))
Sie macht zwar das was sie soll, aber die Ausgabe ist nicht optimal mit diesen ganzen Klammern ! Ich hoffe jemand kann helfen !
[CODE](define (rv-zu links rechts)
(define (iter links rechts rst)
(cond ((and (null? links) (null? rechts))
rst)
((null? links)
(iter '() (cdr rechts) (append rst (cons (car rechts) '()))))
((null? rechts)
(iter (cdr links) '() (append rst (cons (car links) '()))))
(else
(iter (cdr links) (cdr rechts) (append rst (cons (car links) '()) (cons (car rechts) '()))))))
(iter links rechts '()))
(define (rv-auf lst)
(define (iter lst links rechts)
(cond ((null? lst)
(cond ((null? links)
'())
(else
(list links rechts))))
((null? (cdr lst))
(iter (cdr lst) (append links (cons (car lst) '())) rechts))
(else
(iter (cddr lst) (append links (cons (car lst) '())) (append rechts (cons (cadr lst) '()))))))
(iter lst '() '()))[/CODE]
Naja, vielleicht hätte ich meinen Code doch noch etwas verkürzen können … :rolleyes: