je voulais savoir si pour trier une liste cest s bien ça, comment fait-on sur dr scheme pour tester ? dans la partie du bas?
(define diviseurs ; -> liste de nb (lambda (l n) ; l liste de nb, n nb (cond ((null? l) l) ((> (car l) n) '()) ((integer? (/ n (car l))) (cons (car l) (diviseurs (cdr l) n))) (else (diviseurs (cdr l) n)))))
(define separe ; -> liste de 2 listes de nb (lambda (l n); l liste de nb triee, n nb (cond ((null? l) '(() ())) ((>= (car l) n) (list '() l)) (else (let ((r (separe (cdr l) n))) (list (cons (car l) (car r)) (cadr r)))))))
Marsh Posté le 27-05-2009 à 15:22:49
je voulais savoir si pour trier une liste cest s bien ça, comment fait-on sur dr scheme pour tester ? dans la partie du bas?
(define diviseurs ; -> liste de nb
(lambda (l n) ; l liste de nb, n nb
(cond ((null? l) l)
((> (car l) n) '())
((integer? (/ n (car l))) (cons (car l) (diviseurs (cdr l) n)))
(else (diviseurs (cdr l) n)))))
(define separe ; -> liste de 2 listes de nb
(lambda (l n); l liste de nb triee, n nb
(cond ((null? l) '(() ()))
((>= (car l) n) (list '() l))
(else (let ((r (separe (cdr l) n)))
(list (cons (car l) (car r)) (cadr r)))))))