Ich stecke auf eine Hausaufgabe und könnte irgendwelche Hinweise oder Vorschläge verwenden. Ich muss die n größten Zahlen in einer Liste mit Scheme finden. Ich versuche dies zu tun, indem ich Hilfsfunktionen erzeuge, die von der Hauptfunktion aufgerufen werden. Bisher habe ich dies:Wie erhalten Sie die größten n Elemente einer Liste mit Scheme?
(define (get_max_value L)
(if (null? L)
'()
(apply max L)
)
(define (biggest_nums L n)
(if (null? n)
'()
(cons (get_max_value L) (biggest_nums L (- n 1)))
)
)
Wenn ich tippe (biggest_num ‚(3 1 4 2 5) 3) an der Eingabeaufforderung DrRacket hängt nur und nicht einmal eine Fehlermeldung zurück. Wo gehe ich falsch?
Es sieht aus wie 'n' soll eine Zahl sein. Eine Nummer wird niemals eine leere Liste sein ('null?'). –