Форум программистов, компьютерный форум CyberForum.ru

Определить класс Дробь в виде пары - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ однонаправленная очередь http://www.cyberforum.ru/cpp-beginners/thread682361.html
очередь же это список,только добавление и удаление элементов происходит на разных концах списка Это пока как самый черновой вариант.Нужно добавить элемент в конец списка и удалить из начало,использую перегрузку +(добавить) и - (удалить) .Пользуясь лекцией написал так,но это криво работает,и вообще правильно ли написана перегрузка,если нет подскажите как правильно сделать?А косяки если с...
C++ Определение дня недели по введенной дате Доброго времени суток! Программу я составил, вводишь день,месяц и год, и день недели она выдаёт. Но вот только почему-то на один день вперёд. Не могу понять, в чем ошибка. #include<stdio.h> #include<conio.h> int main() { clrscr(); int y,m,d; long days=0; int month={31,28,31,30,31,30,31,31,30,31,30,31}; http://www.cyberforum.ru/cpp-beginners/thread682344.html
C++ Использование функций и шаблонов функций
Составьте программу – формирование цены на молоко. Животновод в начале каждой зимы цену на молоко на р%, а каждым летом снижает на столько же процентов. Измениться ли цена на молоко и если да, то в какую сторону и на сколько через n лет. (Все значения должны вводиться с клавиатуры.) Помогите пожалуйста ....! решить?
typdef struct + парсинг из файла C++
Собственно такая задача : Надо создать структуру, на основе чтения из файла. От вас готового когда не прошу, если можно - просты ссылки на примеры. Со своей задачей сам разберусь) Добавлено через 7 часов 3 минуты Ап, еще актуально
C++ читать пробел cin ом http://www.cyberforum.ru/cpp-beginners/thread682325.html
Возможно, глупый вопрос, но как считать cinом строчку с пробелом? Желательно в массив char
C++ В чём может быть ошибка программы? Подскажите, пожалуйста, в чём может быть ошибка в программе: Test.cpp #include <iostream> #include "Date.h" #include "DateException.h" using namespace std; using namespace ExamTwo; подробнее

Показать сообщение отдельно
alexminin007
 Аватар для alexminin007
7 / 7 / 1
Регистрация: 22.10.2012
Сообщений: 105
28.10.2012, 12:22     Определить класс Дробь в виде пары
Помогите определить класс. Целый месяй уже мучаемся всей группой над этой лабой
Определить класс Дробь в виде пары. Класс должен содержать несколько конструкторов. Реализовать методы для сложения, вычисления, умножения, делания присвоения для данного класса. Перезагрузить операции отношения для данного класса. Создать массив объектов и передать его в функцию, которая изменяет каждый элемент массива с четным индексом путем добавления следующего за ним элемента массива.
Вот что у меня получилось, но не понимаю что не так
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#include <iostream>
 
using namespace std;
 
 
class Fraction 
{
    int chisl;
    int znam;
 
public:
 
    Fraction() {}
 
    Fraction(int m, int n)
    {
        chisl = m;
        znam = n;
    }
 
    int GetChisl()
    {
        return chisl;
    }
 
    int GetZnam()
    {
        return znam;
    }
 
    void Cout()
    {
        cout << chisl << '/' << znam;
    }
 
    Fraction operator+(Fraction fr)
    {
        chisl = chisl * fr.GetZnam() + fr.GetChisl() * znam; 
        znam = znam * fr.GetZnam();
 
        return Fraction(chisl, znam);
    }
 
    Fraction operator-(Fraction fr)
    {
        chisl = chisl * fr.GetZnam() - fr.GetChisl() * znam;
        znam = znam * fr.GetZnam();
 
        return *this;
    }
 
    Fraction operator*(Fraction fr)
    {
        chisl = chisl * fr.GetChisl();
        znam = znam * fr.GetZnam();
 
        return *this;
    }
 
    Fraction operator/(Fraction fr)
    {
        chisl = chisl * fr.GetZnam();
        znam = znam * fr.GetChisl();
 
        return *this;
    }
 
    Fraction operator=(Fraction fr)
    {
        znam = fr.GetZnam();
        chisl = fr.GetChisl(); 
 
        return *this;
    }
 
    void Plus(Fraction fr)
    {
        chisl = chisl * fr.GetZnam() + znam * fr.GetChisl();
        znam *= fr.GetZnam();
    }
 
    void Minus(Fraction fr)
    {
        chisl = chisl * fr.GetZnam() - znam * fr.GetChisl();
        znam *= fr.GetZnam();
    }
 
    void Multiplication(Fraction fr)
    {
        chisl = chisl * fr.GetChisl();
        znam *= fr.GetZnam();
    }
 
    void Division(Fraction fr)
    {
        chisl = chisl * fr.GetZnam();
        znam *= fr.GetChisl();
    }
 
    void Equal(Fraction fr)
    {
        chisl = fr.GetChisl();
        znam = fr.GetZnam();
    }
 
    void Simplify()
    {
        while (!(chisl % znam))
        {
            
        }
    }
};
 
int main()
{
    int m, n;
    int size;
 
    Fraction *frac;
 
    cout << "Number of fractions : ";
    cin >> size;
 
    frac = new Fraction[size];
 
    for (int i = 0; i < size; i++)
    {
        cout << "Write chisl and znam : ";
        cin >> m >> n; 
        frac[i] = Fraction(m, n);
        cout << endl;
    }
 
    
    for (int i = 0; i < size; i++)
    {
        frac[i].Cout();
        cout << ";   ";
    }
 
    for (int i = 2; i < size; i+=2)  
    {
        if (i != size-1)
        {
            frac[i] = frac[i] + frac[i+1]; 
        }
    }
    cout << endl;
 
    for (int i = 0; i < size; i++)
    {
        frac[i].Cout();
        cout << ";   ";
    }
 
    Fraction k(3,5), j(3,2);
 
    return 0; 
 
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru