#Írj programot, amely összead két törtet.
#Bemenet:
#első tört számlálója,
#első tört nevezője,
#második tört számlálója,
#második tört nevezője
#Kimenet: a leegyszerűsített tört előjellel
#Példa: -3/4 + 5/12 = -1/3
# A bevitt szamlalok es nevezok nem lehetnek nullak
def legnagyobb_kozos_oszto(a,b):
a=abs(a)
b=abs(b)
kisebb=min(a,b)
nagyobb=max(a,b)
kell=1
a=0
szam=kisebb
while (kell==1):
if (nagyobb % szam == 0 and kisebb % szam == 0):
lko=szam
kell=0
szam=szam-1
return lko
def legkisebb_kozos_tobbszoros(a,b):
a=abs(a)
b=abs(b)
kisebb=min(a,b)
nagyobb=max(a,b)
kell=1
a=0
while (kell==1):
a=a+1
lkt=nagyobb*a
if (lkt % kisebb == 0):
kell=0
return lkt
szamlalo1=int(input("Kerem az elso tort szamlalojat:"))
nevezo1=int(input("Kerem az elso tort nevezojet:"))
szamlalo2=int(input("Kerem a masodik tort szamlalojat:"))
nevezo2=int(input("Kerem a masodik tort nevezojet:"))
szamlaloallapot=1
nevezoallapot=1
szorzat=szamlalo1*szamlalo2*nevezo1*nevezo2
if (szorzat!=0):
kozos_nevezo=legkisebb_kozos_tobbszoros(nevezo1,nevezo2)
szorzo1=kozos_nevezo/nevezo1
szorzo2=kozos_nevezo/nevezo2
ujszamlalo1=szamlalo1*szorzo1
ujnevezo1=nevezo1*szorzo1
ujszamlalo2=szamlalo2*szorzo2
ujnevezo2=nevezo2*szorzo2
ujszamlalo=ujszamlalo1+ujszamlalo2
ujnevezo=ujnevezo1
egyszerusiteni=legnagyobb_kozos_oszto(ujszamlalo,ujnevezo)
egyszerusitett_szamlalo=ujszamlalo/egyszerusiteni
egyszerusitett_nevezo=ujnevezo/egyszerusiteni
egyszerusitett_szamlalo=round(egyszerusitett_szamlalo)
egyszerusitett_nevezo=round(egyszerusitett_nevezo)
#print (ujszamlalo1,ujnevezo1,ujszamlalo2,ujnevezo2)
c=egyszerusitett_szamlalo/egyszerusitett_nevezo
egesz=int(c)
szamlalo=egyszerusitett_szamlalo-egesz*egyszerusitett_nevezo
szoveg="A tort erteke: "+ str(egyszerusitett_szamlalo)+"/" + str(egyszerusitett_nevezo)
print (szoveg)
if (egesz>0):
szoveg="A tort erteke: "+ str(egesz)+" " + str(szamlalo)+"/" + str(egyszerusitett_nevezo)
print (szoveg)
else:
print ("A bevitt szamlalok es nevezok nem lehetnek nullak")