Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19

Класс для работы с объектом "рациональная дробь"

16.12.2014, 18:15. Показов 5982. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо ввести класс для работы с объектом "рац.дробь" и реализовать 1)умножение(деление) двух дробей 2)сравнение двух дробей.Сравнение двух дробей есть,как сделать первый пункт?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <conio.h>
using namespace std;
 
class CDrob
{
private:
    int n;
    int m;
public:
    CDrob(): n(1),m(1) // Конструктор без параметров
    { }
 
    CDrob(int n1,int m1): n(n1) // Конструктор с параметрами
    {
        if(m1 == 0) // Если делитель равен нулю - ошибка
        { cout << "Error" << endl; }
        else
        { m = m1; }
    }
 
    CDrob operator * (CDrob temp) // Перегрузка операции *
    {
        CDrob buffer;
        buffer.m = m * temp.m;
        buffer.n = n * temp.n;
        return buffer;
    }
 
    CDrob operator / (CDrob temp) // Перегрузка операции /
    {
        CDrob buffer;
        buffer.m = m * temp.n;
        buffer.n = n * temp.m;
        return buffer;
    }
 
    CDrob operator = (CDrob& temp) // Перегрузка операции присваивания
    {
        n = temp.n;
        m = temp.m;
        return CDrob(n,m);
    }
     
     bool operator==(const CDrob &right) // Перегрузка операции проверки на равенство
    {
         return n*right.m == m*right.n;
    }
 
friend ostream& operator << (ostream& s,CDrob& temp); // Вывод самой дроби
};
 
ostream& operator << (ostream& s,CDrob& temp)
{
    s << temp.n << "/" << temp.m;
    return s;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    CDrob drob1(2,3);
    CDrob drob2(2,4);
 
    if (drob1 == drob2)
        cout << "Дроби равны" << endl;
    else
        cout << "Дроби не равны" << endl;
    
 
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2014, 18:15
Ответы с готовыми решениями:

Ввести класс для работы с объектом "рациональная дробь"
Ввести класс для работы с объектом &quot;рациональная дробь&quot;.Реализовать: а)сложение(вычитание) двух дробей; б)приведение дроби к...

Класс Рациональная Дробь
Всем привет, задали задачу, помогите решить и разобраться) // Example program #include &lt;iostream&gt; using namespace std; ...

Класс рациональная дробь
Создать класс: Рациональная дробь вида m/n . Обязательны следующие методы класса :конструктор, перегруженные операторы префиксный инкремент...

2
 Аватар для Gr1f0nn
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
16.12.2014, 18:28
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
  CDrob &operator *= (CDrob temp) // Перегрузка операции *=
    {
        this->m *= temp.m;
        this->n *= temp.n;
        return *this;
    }
 
    CDrob &operator /= (CDrob temp) // Перегрузка операции /=
    {
        this->m /= temp.n;
        this->n /= temp.m;
        return *this;
    }
Например, так

Добавлено через 2 минуты
В операции присваивания желательно добавить проверку на самоприсваивание.

C++
1
2
3
4
5
6
7
8
9
   CDrob &operator = (CDrob& temp) // Перегрузка операции присваивания
    {
        if(this != &temp)
{
        n = temp.n;
        m = temp.m;
}
        return *this;
    }
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 22:39  [ТС]
Gr1f0nn, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2014, 22:39
Помогаю со студенческими работами здесь

Класс Рациональная дробь
Есть код, который выполняет операции между дробями (рациональное число, является отношением двух целых чисел). Никак не получается...

Класс правильная рациональная дробь. Конструкторы и функции класса
Данные класса: числитель и знаменатель правильной рациональной дроби, целая часть. Функции класса: сложение, вычитание, умножение,...

Разработать класс (Объект «рациональная дробь, представлен парой целых чисел»)
Составить описание класса. Определить конструктор по умолчанию, конструктор с параметрами и методы класса. Написать программу,...

Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел»)
Разработать класс, набор методов (конструктор, деструктор и указанные методы) для программной модели заданного объекта. Описание объекта и...

Реализовать алгоритм решения задачи. Ввести класс для работы с объектом «рациональная дробь» (вида m/n)
Здравствуйте. Помогите реализовать алгоритм решения задачи. Ввести класс для работы с объектом «рациональная дробь» (вида m/n)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru