Напишите процедуру, которая сокращает дробь вида m/n. числитель и знаменатель дроби как изменяемые параметры. пример: введите числитель и знаменатель дроби: 25 15 после сокращения: 5/3

sofiya13031 sofiya13031    1   03.06.2019 12:20    14

Ответы
dibalabagdasar dibalabagdasar  03.07.2020 20:26
Var
    a, b: integer;

function greatest_common_divisor(m, n: integer): integer;
var
    modulo: integer;
begin
    modulo := m mod n;
    if modulo = 0 then
        greatest_common_divisor := n
    else
        greatest_common_divisor := greatest_common_divisor(n, modulo)
end;

procedure reduce_the_fraction(a, b: integer);
var
    gcd: integer;
    sign: string;
begin
    gcd := greatest_common_divisor(a, b);
    if a * b < 0 then
        sign := '-';
    writeln(sign, abs(a) / gcd, '/', abs(b) / gcd);
end;

begin
    write('Enter two numbers: ');
    readln(a, b);
    reduce_the_fraction(a, b);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика