Практические занятия по курсу ОиМП/Группа 106 1
Материал из Wiki - Факультет компьютерных наук
Версия от 12:18, 15 ноября 2014; AndreyShestimerov (обсуждение | вклад)
C++
Сдача домашнего задания №2 заканчивается в полночь с 7 на 8 ноября. При выставлении оценки за задание будет учитываться сдача задач в контестах 736(от 9 задач), 738 (от 7 задач), 765(от 16 задач), 798 (от 4 из первой половины + 4 из второй).
15.11.2014
Реализовать пользовательский тип «Рациональные числа» (Rational).
Внутреннее представление типа:
int a, b;
должно отвечать следующим требованиям: Число a/b должно представлять собой несократимую дробь.
Данный тип должен быть описан таким образом, чтобы были корректны следующие инструкции:
// Создание объектов Rational q = Rational(1, 3), w(1, 3); Rational s = 4; Rational z = q; // Арифметические операции s.Add(q); // значение s увеличивается на значение q // (значение s меняется) s.Substract(q); // значение s изменяется путем вычитания q s.Multiply(q); // значение s изменяется путем домножения на q s.Divide(q); // значение s изменяется путем деления на q s.Add(q).Multiply(w); // значение s меняется путем инкрементирования q // с последующим домножением на w // Логические операции s.EqualTo(w); // возращает булево значение, равно ли значение s значению w s.CompareTo(w); // возвращает целое > 0, если s > w, // иначе возвращает целое < 0, если s < w, // иначе возвращает 0 s.IsInteger() // возвращает булево значение, является ли s целым числом // Строковое представление в формате a:b string str = w.ToString(); // вернет 1:3 // Создание массивов Rational arr[10];