Hogyan adunk össze haskellben két tört számot ?
Eddig ezt próbáltam,de nem jó valami benne.
pl: add (1,2) (3,2) == (8,4)
add:: (Int, Int) -> (Int, Int) -> (Int, Int)
add (x,y) (a,b) = (x/y) + (a/b) == (e/v)
közös nevezőre kell hozni, és csak simán összeadni (a példa alapján még egyszerüsíteni sem kell)
az az "== (e/v)" az nem tudom mi akar lenni, de az "add (1,2) (3,2) == (8,4)" csak azt jelenti, hogy ha jól írtad meg a függvényt akkor ez a kifejezés igazra fog kiértékelődni, a függvényen belül nem kell semilyen "=="
#1 Nézd meg jobban a feladatot!
A tuple első tagja a számláló, a második a nevező.
Hogyan lehet közös nevezőre hozni ? Azt az add függvényen belül is el lehet végezni ?
Az e,v az az eredmény lenne, de akkor arra nincs szükség.
ennek már te is utánanézhetnél, ha nem megy fejből..
add:: (Int, Int) -> (Int, Int) -> (Int, Int)
add (a, b) (c, d) = ( _ , b * d)
például b * d egy közös nevező, a számlálót meg ez alapján ki tudod találni
Ha (a,b) és (c,d) a két tört, akkor a leggagyibb megoldás, hogy b*d lesz a közös nevező, az első számláló a*d, a másik számláló c*b.
Pl.: (2,5) és (1,4) esetén (8,20) és (5,20).
A végén a nevező adott, a két számlálót pedig csak össze kell adni.
Bocsi de nekem ez a haskell, olyan mintha kínait tanulnék.
Köszönöm a segítséget, így már értem, hogy hogyan működik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!