Ayuda ejercicio haskell, por comprension
Publicado por uriel (2 intervenciones) el 16/12/2015 03:18:52
Encontre este ejercicio en un final de haskell
El ejercicio dice: Definir por comprension, la funcion maxDif que recibe una lista de enteros y regresa la mayor de las diferencias en valor absoluto entre dos elementos consecutivos de una lista. utilizar abs y maximum, en caso de crear una funcion auxiliar definirla con where
Ejemplo: maxDif [10,-10,1,4,20,-2] -> 22
Lo que hice yo fue esto
maxDif::[Int] -> Int
maxDif xs = maximum [x | y <- xs, n <- [1..(length xs)-1], x <- diferencia y n xs]
where diferencia y n xs = abs y - abs (xs !! n)
me tira error al asignar diferencia a x, entiendo que no esta bien, pero no se como hacerlo
El ejercicio dice: Definir por comprension, la funcion maxDif que recibe una lista de enteros y regresa la mayor de las diferencias en valor absoluto entre dos elementos consecutivos de una lista. utilizar abs y maximum, en caso de crear una funcion auxiliar definirla con where
Ejemplo: maxDif [10,-10,1,4,20,-2] -> 22
Lo que hice yo fue esto
maxDif::[Int] -> Int
maxDif xs = maximum [x | y <- xs, n <- [1..(length xs)-1], x <- diferencia y n xs]
where diferencia y n xs = abs y - abs (xs !! n)
me tira error al asignar diferencia a x, entiendo que no esta bien, pero no se como hacerlo
Valora esta pregunta


0