Ваша задача - написать программу, которая реализует операции сложения, вычитания, умножения и деления дробей. Входные и выходные дроби имеют следующий формат:
- знак числа (пишется только в том случае, если при его отсутствии получится неправильное число),
- целая часть числа (если она равна нулю, то не пишется, но только в том случае, если присутствуют числитель и знаменатель),
- пробел (не пишется, если целая либо дробная часть отсутствует),
- числитель (если не равен нулю),
- знак “/” (пишется только при наличии числителя),
- знаменатель (не пишется, если отсутствует числитель),
- знаменатель не может быть равен нулю.
Примеры представления дробных чисел: “-7 3/4”, “8 1/2”, “-7/11”, “0”, “11”.
Ограничения
Все ограничения применимы как для входных, так и для выходных данных.
Знак дроби: если дробь положительная, знак не пишется; если дробь отрицательная, знак “-” должен присутствовать.
Целая часть и числитель могут иметь значения в диапазоне от 0 до 30000, знаменатель может иметь значения от 1 до 30000.
Знаком операции может быть один из следующих четырёх символов: “+” (сложение), “-” (вычитание), “*” (умножение), “/” (деление).
Выражение всегда корректно, то есть второй операнд в операции деления не может быть нулём.
Исходные данные
Первая строка – дробь (первый операнд);
Вторая строка – знак операции;
Третья строка – дробь (второй операнд).
Обе дроби могут быть сократимыми. Числитель всегда меньше знаменателя.
Результат
Единственная строка, содержащая несократимую правильную дробь (результат) в вышеописанном формате.
Пример
Исходные данные | Результат |
-3 1/6
+
2/4
|
-2 2/3
|
|