Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
#1

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

20.06.2013, 19:17. Просмотров 689. Ответов 14
Метки нет (Все метки)

Разработать класс, набор методов (конструктор, деструктор и указанные методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), которая использует объекты разработанного класса: Объект «рациональная не сократимая дробь, представлен парой целых чисел». Конструктор должен позволить создавать объекты без и с начальной инициализацией. Реализовать метод add и sub - сложение и вычитание двух дробей.
Кликните здесь для просмотра всего текста
Розробити клас, набір методів (конструктор, деструктор і вказані методи) для програмної моделі заданого об'єкту. Опис об'єкту і його основних властивостей приводиться нижче. Привести програму(int main), що використовує об'єкти розробленого класу:
Об'єкт «раціональний не скоротний дріб, представлений парою цілих чисел». Конструктор повинен дозволити створювати об'єкти без та з початковою ініціалізацією. Реалізувати метод add і sub - складання і віднімання двох дробів.


Пожалуйста, помогите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 19:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») (C++):

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

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

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

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

Класс для работы с объектом "рациональная дробь" - C++
Надо ввести класс для работы с объектом "рац.дробь" и реализовать 1)умножение(деление) двух дробей 2)сравнение двух дробей.Сравнение двух...

Класс "Рациональная дробь" - C++
Реализовать класс Rational, используя два массива из 100 элементов типа unsigned char для представления числителя и знаменателя. Каждый...

14
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
20.06.2013, 19:22 #2
Официальными языками форума являются русский и английский.
Поищите реализацию по форуму, такое задание часто здесь проскакивает.
0
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 19:29  [ТС] #3
MrGluck, Разработать класс, набор методов (конструктор, деструктор и указанные методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), которая использует объекты разработанного класса: Объект «рациональная не сократимая дробь, представлен парой целых чисел». Конструктор должен позволить создавать объекты без и с начальной инициализацией. Реализовать метод add и sub - сложение и вычитание двух дробей.

На русском так

Добавлено через 2 минуты
MrGluck, на форуме именно такого не нашел
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
20.06.2013, 19:43 #4
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
#include <iostream>
 
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
}
Без упрощения
1
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 19:52  [ТС] #5
MrGluck, да, спасибо, работает. А как там сделать чтобы окно не закрывалось автоматически?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
20.06.2013, 19:55 #6
vanyakilkil, #include <cstdlib>

перед концом main-a system("pause");
1
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 20:06  [ТС] #7
MrGluck, возможно я не туда system pause добавил?
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
#include <iostream>
#include <cstdlib>
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
    system("pause")
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
20.06.2013, 20:42 #8
vanyakilkil, вы не в состоянии прочесть ошибку компилера, что после инструкции требовалось бы ; поставить?
1
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 20:56  [ТС] #9
MrGluck, точно, протупил.. Но окно все равно закрывается само
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
20.06.2013, 20:59 #10
vanyakilkil, косяк в вашей IDE
0
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 21:00  [ТС] #11
MrGluck, а вы не можете скомпилировать и архивом сбросить, пожалуйста
0
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 592
20.06.2013, 21:00 #12
попробуйте cin.get();
0
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 23:05  [ТС] #13
MastAKK, тогда получается ошибка тоже
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
#include <iostream>
#include <cstdlib>
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
    cin.get();
}
Добавлено через 2 часа 2 минуты
MastAKK, вы бы не могли сбросить скомпилированным архивом? Вам же минута времени а мне мороки
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
21.06.2013, 00:03 #14
vanyakilkil,111.rar
1
vanyakilkil
35 / 35 / 2
Регистрация: 13.06.2012
Сообщений: 650
21.06.2013, 00:06  [ТС] #15
MrGluck, спасибо
0
21.06.2013, 00:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 00:06
Привет! Вот еще темы с ответами:

Рациональная дробь - C++
Здравствуйте! знающие люди, помогите решить задачу:gsorry: Составить описание класса. Определить конструктор по умолчанию, конструктор с...

Разработать класс SqArrayOfInt – двумерный массив целых чисел - C++
Разработать класс SqArrayOfInt – двумерный массив целых чисел. Физически данный массив должен состоять из вектора массивов типа ArrayOfInt....

Разработать класс SortedArrayOfInt – упорядоченный массив целых чисел - C++
Разработать класс SortedArrayOfInt – упорядоченный массив целых чисел, наследованный от класса ArrayOfInt. Замечание: сортировку массива...

Разработать класс, моделирующий массив целых чисел и его обработку - C++
Привет. хотелось бы обратиться к тем, кто хорошо разбирается в программировании. у меня вызвала огромные затруднения тема связанная с...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru