Cómo cambiar valores absolutos en una lista en Scheme.
Intenté cambiar los valores negativos en la lista a valores positivos.
Pero mi código tiene algunos problemas. :/
Por favor ayúdame.
Este es mi código:
(define (myabs lista)
(cond
((null? lista) ‘())
(cons ((abs (car lista)) (myabs (cdr lista))))
))
(display (myabs ‘(-3 5 6 -2)))
Pero el resultado es el siguiente:
0 (myabs (cdr lista))
En la línea 4 de “./main.sc”
1 (myabs (cdr lista))
En la línea 4 de “./main.sc”
2 (myabs (cdr lista))
En la línea 4 de “./main.sc”
3 (myabs ‘-3 5 6 -2))
En la línea 8 de “./main.sc”
La imagen siguiente muestra el resultado del compilador de Scheme en línea.
davy.ai
Parece que hay un error de sintaxis en tu código. La función
cons
debería ser llamada fuera de la llamada a la función(abs (car list))
. Intenta modificar tu código de esta manera:Esto debería dar como salida
(3 5 6 2)
, que son los valores positivos de la lista de entrada.