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

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

Войти
Регистрация
Восстановить пароль
 
PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
#1

добавление к дроби целого числа - C++

24.04.2013, 17:00. Просмотров 721. Ответов 14
Метки нет (Все метки)

Подскажите пожалуйста, как реализовать: добавление к дроби целого числа выполняется по правилу сложения дробей (без сокращения) ¾ + 1 = 7/4.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
24.04.2013, 17:11     добавление к дроби целого числа #2
PK91, а как у Вас реализована сама дробь?
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
24.04.2013, 17:24     добавление к дроби целого числа #3
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
#include <iostream>
#include <math.h>
 
int NOD(int x, int y);
int NOK(int x, int y);
 
int main()
{
    std::cout << "Example: " << std::endl;
    std::cout << " a    a1" << std::endl;
    std::cout << "--  + --" << std::endl;
    std::cout << " c      c1" << std::endl << std::endl;
 
    std::cout << "Enter a a1 c c1. ex[5 6 9 6]: ";
 
    int a,a1,c,c1;
    std::cin >> a >> a1 >> c >> c1;
 
    int nok = NOK(c, c1);
 
    c = nok / c;
    a *= c;
 
    c1 = nok / c1;
    a1 *= c1;
 
    /*
    [url]http://ru.onlinemschool.com/math/library/fraction/lcd/[/url]
    */
 
    int answer = a + a1;
 
    std::cout << "Answer: " << std::endl;
 
    std::cout << answer << std::endl;
    std::cout << "----" << std::endl;
    std::cout << nok << std::endl;
 
 
    return 0;
}
 
int NOD(int x, int y)
{
    if (x != 0)
        return NOD(y%x,x);
    else
        return y;
}
 
int NOK(int x, int y)
{
    return (x/NOD(x,y))*y;
}
если всё верно, то отзыв вот сюда [ссылка удалена]
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 17:27     добавление к дроби целого числа #4
Цитата Сообщение от Tulosba Посмотреть сообщение
PK91, а как у Вас реализована сама дробь?
- поддержу вопрос, дробь идёт как отдельный класс или просто структура?
C++
1
2
3
4
5
struct DROB
{
     double chislitel;
     double znamenatel;
}
Ответ на вопрос повлияет на реализацию
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
24.04.2013, 17:31     добавление к дроби целого числа #5
Извиняюсь, была допущена ошибка в реализации.
Исправленный вариант:

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
#include <iostream>
#include <math.h>
 
int NOD(int x, int y);
int NOK(int x, int y);
 
int main()
{
    std::cout << "Example: " << std::endl;
    std::cout << " a    a1" << std::endl;
    std::cout << "--  + --" << std::endl;
    std::cout << " c      c1" << std::endl << std::endl;
 
    std::cout << "Enter a a1 c c1. ex[5 6 9 6]: ";
 
    int a,a1,c,c1;
    std::cin >> a >> c >> a1 >> c1;
 
    int nok = NOK(c, c1);
 
    c = nok / c;
    a *= c;
 
    c1 = nok / c1;
    a1 *= c1;
 
    /*
    [url]http://ru.onlinemschool.com/math/library/fraction/lcd/[/url]
    */
 
    int answer = a + a1;
 
    std::cout << "Answer: " << std::endl;
 
    std::cout << answer << std::endl;
    std::cout << "----" << std::endl;
    std::cout << nok << std::endl;
 
 
    return 0;
}
 
int NOD(int x, int y)
{
    if (x != 0)
        return NOD(y%x,x);
    else
        return y;
}
 
int NOK(int x, int y)
{
    return (x/NOD(x,y))*y;
}
PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
24.04.2013, 17:36  [ТС]     добавление к дроби целого числа #6
Дробь идёт как отдельный класс.
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 17:38     добавление к дроби целого числа #7
Цитата Сообщение от PK91 Посмотреть сообщение
Подскажите пожалуйста, как реализовать: добавление к дроби целого числа выполняется по правилу сложения дробей (без сокращения) ¾ + 1 = 7/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
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
using namespace std;
 
class DROB
{
private:
    double chislitel;
    double znamenatel;
public :
    DROB();
    DROB(double chisl, double znam);
    DROB(const DROB &pCopy);
    DROB operator + (DROB   pAdd);
    DROB operator + (double pAdd);
    void show();
};
 
DROB::DROB()
{
    chislitel = znamenatel = 0;
}
 
DROB::DROB(double chisl, double znam)
{
    chislitel = chisl;
    znamenatel= znam;
}
 
DROB::DROB(const DROB &pCopy)
{
    chislitel = pCopy.chislitel;
    znamenatel= pCopy.znamenatel;
}
 
DROB 
DROB::operator + (DROB   pAdd)
{
    chislitel *= pAdd.znamenatel;
    znamenatel*= pAdd.chislitel;
    return (*this);
}
 
DROB 
DROB::operator + (double pAdd)
{
    chislitel += pAdd*znamenatel;
    return (*this);
}
 
void DROB::show()
{
    cout<<chislitel<<" / "<<znamenatel<<endl;
}
 
int main()
{
    DROB pDrob(3, 4);
    pDrob.show();
    pDrob = pDrob + 1;
    pDrob.show();
    cin.get();
    return 0;
}
Миниатюры
добавление к дроби целого числа  
PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
24.04.2013, 17:38  [ТС]     добавление к дроби целого числа #8
Спасибо!!!! Объясните пожалуйста, что значит:
C++
1
2
3
4
5
6
7
int nok = NOK(c, c1);
 
    c = nok / c;
    a *= c;
 
    c1 = nok / c1;
    a1 *= c1;
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
24.04.2013, 17:39     добавление к дроби целого числа #9
Цитата Сообщение от PK91 Посмотреть сообщение
Спасибо!!!! Объясните пожалуйста, что значит:
C++
1
2
3
4
5
6
7
int nok = NOK(c, c1);
 
    c = nok / c;
    a *= c;
 
    c1 = nok / c1;
    a1 *= c1;
http://ru.onlinemschool.com/math/library/fraction/lcd/
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 17:41     добавление к дроби целого числа #10
Цитата Сообщение от PK91 Посмотреть сообщение
Спасибо!!!! Объясните пожалуйста, что значит:
Код C++
int nok = NOK(c, c1);
c = nok / c;
* * a *= c;
c1 = nok / c1;
* * a1 *= c1;
- нахождение общего кратного, твоя дробь приводится в знаменателе к наименьшему общему кратному(идёт сокращение в числителе и знаменателе), так что ответ поста 3 вобщем-то не по заданию
Цитата Сообщение от PK91 Посмотреть сообщение
числа выполняется по правилу сложения дробей (без сокращения)
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
24.04.2013, 17:44     добавление к дроби целого числа #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- нахождение общего кратного, твоя дробь приводится в знаменателе к наименьшему общему кратному, так что ответ поста 3 вобщем то не по заданию

Не по теме:

всё лучше, чем нечего

PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
24.04.2013, 17:46  [ТС]     добавление к дроби целого числа #12
Спасибо большое!!! Объясните пожалуйста:
C++
1
2
3
4
5
DROB::DROB(const DROB &pCopy)
{
    chislitel = pCopy.chislitel;
    znamenatel= pCopy.znamenatel;
}
-=ЮрА=-
24.04.2013, 17:47
  #13

Не по теме:

Цитата Сообщение от GetVariable Посмотреть сообщение
всё лучше, чем нечего
- лучше делать то что просят

-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 17:50     добавление к дроби целого числа #14
Цитата Сообщение от PK91 Посмотреть сообщение
DROB:ROB(const DROB &pCopy)
{
* * chislitel = pCopy.chislitel;
* * znamenatel= pCopy.znamenatel;
}
- конструктор копирования - privat переменные из класса pCopy присваиваются privat переменным текущего экземпляра класса, дословно - чтобы можно было написать pDrob1 = pDrob2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 17:55     добавление к дроби целого числа
Еще ссылки по теме:

C++ Округление числа до ближайшего целого
Ввод целого числа C++
Поиск отсутствующего целого числа C++
Преобразование целого числа в строку C++
C++ Найти для числа правильные дроби с заданным знаменателем N и положителеным числителем

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

Или воспользуйтесь поиском по форуму:
PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
24.04.2013, 17:55  [ТС]     добавление к дроби целого числа #15
Спасибо!!!
Yandex
Объявления
24.04.2013, 17:55     добавление к дроби целого числа
Ответ Создать тему
Опции темы

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