Hallo zusammen,
ich soll einer Funktion erstellen, die folgendes macht: ((1 2 3) (4 5 6) (7 8 9)) -> ((1 4 7) (2 5 8 ) (3 6 9)) also jeweils die ersten der einzelnen Listen zu einer neuen Liste, die zweiten etc. Wie ich an die ersten komme und daraus eine Liste hinbekomme habe ich so gemacht:
(define firsts
(lambda (l)
(cond
((empty? l) '())
(else (cons (car (car l)) (firsts (cdr l)))))))
Aber wie rufe ich das nun nochmal auf, quasi ohne die ersten der Liste, um dann wiederum die neuen ersten (also die jetzigen 2ten) aneinanderzufügen? Und vor allem wie merke ich mir die Liste?
Wäre super, wenn mir jemand helfen kann
ich soll einer Funktion erstellen, die folgendes macht: ((1 2 3) (4 5 6) (7 8 9)) -> ((1 4 7) (2 5 8 ) (3 6 9)) also jeweils die ersten der einzelnen Listen zu einer neuen Liste, die zweiten etc. Wie ich an die ersten komme und daraus eine Liste hinbekomme habe ich so gemacht:
(define firsts
(lambda (l)
(cond
((empty? l) '())
(else (cons (car (car l)) (firsts (cdr l)))))))
Aber wie rufe ich das nun nochmal auf, quasi ohne die ersten der Liste, um dann wiederum die neuen ersten (also die jetzigen 2ten) aneinanderzufügen? Und vor allem wie merke ich mir die Liste?
Wäre super, wenn mir jemand helfen kann