В моей программе я должен написать функцию, которая разбивает список на четные и нечетные.Проблема в том, что вывод / синтаксис неверен.Я получаю ((1 3) (2 4))
при тестировании примера (split '(1 2 3 4))
.Вывод должен выглядеть как ((1 3) 2 4)
Вот мой код:
(define (split l)
(define (odd l)
(if (null? l) '()
(if (null? (cdr l)) (list (car l))
(cons (car l) (odd (cddr l))))))
(define (even l)
(if (null? l) '()
(if (null? (cdr l)) '()
(cons (cadr l) (even (cddr l))))))
(cons (odd l) (cons (even l) '())))