Ответы на вопрос:
// pascalabc.net 3.3, сборка 1555 от 21.10.2017 // внимание! если программа не работает, обновите версию! type fraction=class private class function gcd(a,b: biginteger): biginteger; begin while b< > 0 do (a,b): =(b,a mod b); result: =a end; public numerator: biginteger; denominator: biginteger; constructor create(num: biginteger: =0; denom: biginteger: =1); begin var n: =gcd(num,denom); numerator: =num div n; denominator: =denom div n end; class function operator +(a,b: fraction): fraction; begin var n: =gcd(a.denominator,b.denominator); result: =new fraction(a.numerator*(b.denominator div n)+ b.numerator*(a.denominator div n),a.denominator div n*b.denominator); end; end; function print(self: fraction; s: string: =' '): fraction; extensionmethod; begin result: =self; if self.denominator=1 then write(self.numerator,s) else write(self.numerator,'/',self.denominator,s) end; function read: fraction; begin var s: =readlnstring('введите через пробел числитель и знаменатель: '); var w: =s.towords; result: =new fraction(biginteger.parse(w[0]),biginteger.parse(w[1])) end; begin var a: =read; var b: =read; (a+b).print end. примеры введите через пробел числитель и знаменатель: 1 2 введите через пробел числитель и знаменатель: 5 130 7/13 введите через пробел числитель и знаменатель: 132 65 введите через пробел числитель и знаменатель: 1325 345 26333/4485 введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825 введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652 2617268599782944014855731813763449145529/26199793481726210718128032276692900
Популярно: Информатика
-
grek199003.09.2020 23:39
-
MishaDunaev09.03.2021 10:02
-
DjDenZzz14.08.2021 10:17
-
bodleva0603.10.2020 17:17
-
OlaCoch21.03.2022 13:01
-
Merlin13103.12.2022 05:55
-
nastiarozhko14.04.2020 15:05
-
1783456725.03.2020 13:10
-
NeZoXshock15.02.2023 12:49
-
Zaika11111111108.10.2020 01:36