Опубликовано 26.01.2018 по предмету Информатика от Гость

Составьте программу складывающую 2 обыкновенные дроби

Ответ оставил Гость

// 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

Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы