jak wywolas funkcje w Haskelu.....

0

data Zespolona = Zespolona Double Double
deriving (Eq, Read, Show)

rzeczywista::Zespolona->Double
rzeczywista (Zespolona x _) = x

urojona::Zespolona->Double
urojona (Zespolona _ y) = y

wypisz::Zespolona->IO()
wypisz (Zespolona x y) = putStrLn("z= " ++(show x)++" + "++(show y)++"i")

modul::Zespolona->Double
modul a = sqrt((rzeczywista a)2+(urojona a)2)

(+++)::Zespolona->Zespolona->Zespolona
(+++) a b = Zespolona (rzeczywista a + rzeczywista b) (urojona a + urojona b)

Nie mam zielonego pojecia jak wywolac funkcje (+++) proszę o pomoc

0

a +++ b

0

Coś nie działa, pod a i b wstawiam dowolne liczby czy musza to byc liczby zespolone, jezeli zespolone to pod jaka postacią ?

0

Muszą być zespolone w takiej postaci jakiej je zdeklarowałeś. Czyli piszesz:

main = wypisz $ (1.0, 1.0) +++ (1.0, 1.0)
0

Kurcze wciąż nie działa ... Samo wypisanie jednej liczby działa:

 wypisz (Zespolona 1.0 1.0)

Natomiast ta funkcja dalej nie rusza...

0

Dzięki za pomoc :)
wypisz $ (Zespolona 10.10 10.10) +++ (Zespolona 10.10 10.0)

1 użytkowników online, w tym zalogowanych: 0, gości: 1