jak wywolas funkcje w Haskelu.....

jak wywolas funkcje w Haskelu.....
  • Rejestracja: dni
  • Ostatnio: dni
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

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

a +++ b

  • Rejestracja: dni
  • Ostatnio: dni
0

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

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
main = wypisz $ (1.0, 1.0) +++ (1.0, 1.0)
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
 wypisz (Zespolona 1.0 1.0)

Natomiast ta funkcja dalej nie rusza...

  • Rejestracja: dni
  • Ostatnio: dni
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.