Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Отредактировал описание Rational(5 лаба, 3 вариант) #90

Open
wants to merge 1 commit into
base: master-new
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions tasks/05/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
- [Вариант 1. Комплексные числа. До 140 баллов](#вариант-1-комплексные-числа-до-140-баллов)
- [Вариант 2. До 120 баллов](#вариант-2-до-120-баллов)
- [Вариант 3. До 156 баллов](#вариант-3-до-156-баллов)
- [Примеры входных и выходных данных](#примеры-входных-и-выходных-данных)
- [Пример 1](#пример-1)
- [Пример 2](#пример-2)
- [Пример 3](#пример-3)
- [Вариант 4. До 90 баллов](#вариант-4-до-90-баллов)
- [Вариант 5. До 220 баллов](#вариант-5-до-220-баллов)
- [Дополнительные задания](#дополнительные-задания)
Expand Down Expand Up @@ -459,6 +463,78 @@ public:
</tbody>
</table>

На основе этого класса разработайте программу, которая должна:

1. Считывать из стандартного потока ввода строку с операцией и аргументами в формате:

<операция> <рациональное_число_1> <рациональное_число_2>

где `<операция>` может быть:

- `+` — сложение

- `-` — вычитание

- `*` — умножение

- `/` — деление

- `+u` — унарный плюс (например, "+u 3/4")

- `-u` — унарный минус (например, "-u 2/5")

1. Прочитать два числа (в случае бинарных операций) или одно число (в случае унарных операций).

2. Вывести результат выполнения операции в стандартный поток вывода.

3. Обрабатывать каждую строку до конца ввода.

Если входные данные некорректны (например, содержат нечисловые значения), программа должна выводить в стандартный поток вывода «ERROR» и продолжать выполнение. Это необходимо для корректного тестирования программы в системе Яндекс.Contest

##### Примеры входных и выходных данных

###### Пример 1

Ввод:

```txt
u- 1/2
```

Вывод:

```txt
-1/2
```

###### Пример 2

Ввод:

```txt
* 1/2 3/4
```

Вывод:

```txt
3/8
```

###### Пример 3

Ввод:

```txt
/ 1/2 0/1
```

Вывод:

```txt
ERROR
```

<span style="color:red">В процессе разработки класса использование подхода TDD обязательно. Без автоматических тестов работа будет принята с коэффициентом 0.5.</span>

<span style="color:gray">**Бонус в 30 баллов за возможность получения смешанной дроби из рационального числа**</span> <a name="1-3-b-1"></a>
Expand Down