Schreiben Sie eine Scheme-Funktion, die eine einfache Liste von Zahlen als Parameter verwendet und die zweitgrößte und zweitkleinste Zahl in der Liste zurückgibt. Die zurückgegebenen Werte sollten in einer Liste als (kleinste größte) Beachten Sie, dass, wenn benötigt, können Sie andere Hilfsfunktionen definieren, die die Minmax-Funktion in seinem Körper aufrufen kann.Suchen Sie die zweitgrößte und kleinste Nummer in einer Liste
(DEFINE (minmax Liste)
(
Körper
) )
(define (mintwo lst)
(cond ((null? (cdr lst)) (car lst))
((< (car lst) (mintwo (cdr lst))) (car lst))
(else (mintwo (cdr lst)))))
(define (maxtwo lst)
(cond ((null? (cdr lst)) (car lst))
((> (car lst) (maxtwo (cdr lst))) (cdr lst))
(else (maxtwo (cdr lst)))))
diese Funktionen I für max haben und min aber der lustige Teil ist, dass, wenn ich Eingabe
(maxtwo '(3 4 2 9 3 8))
ich die Fehlermeldung erhalten, die
korrekt istein echter als zweites Argument erwartet, gegeben (Liste 3 8)
der Fehler ist die dritte Zeile in der maxtwo Funktion
Nun, wie kann ich mache eine Funktion, um diese 2 mintwo und maxtwo Funktion zu nennen und als eine Ausgabe ist die zweitkleinste und zweitgrößte Zahl in einer Liste