Ocena użytkownikóww: ***** / 0
Nadesłany przez Adam Chrapkowski, 20 grudnia 2013 02:53
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.element_min_max.hs:
-- Wartość minimalna i maksymalna
-- Adam Chrapkowski
-- www.algorytm.org
--
-- Compliant with Haskell 98 standard
myX :: (Ord t) => [t] -> (t -> t -> Bool) -> t
myX xs f = foldl1 (\x y -> g x y f) xs
where
g :: t -> t -> (t -> t -> Bool) -> t
g a b f
| f a b = a
| otherwise = b
myMin :: (Ord t) => [t] -> t
myMin xs = myX xs (<)
myMax :: (Ord t) => [t] -> t
myMax xs = myX xs (>)