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

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

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

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

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

Подскажите пожалуйста, как реализовать: добавление к дроби целого числа выполняется по правилу сложения дробей (без сокращения) ¾ + 1 = 7/4.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 17:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос добавление к дроби целого числа (C++):

Разность дроби и целого числа - C++
Нужно перегрузить операции "-" и "=". Конструкторы класса должны преобразовывать оба операнда в числовой формат обыкновенной дроби и...

Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K - C++
Помогите выполнить задание. Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в...

Определить цифры целого числа (тип числа - целое без знака) - C++
Определить цифры целого числа( тип числа-целое без знака), вычислить сумму полученных цифр. Помогите ,пожалуйста.

Конструирование значения целого числа или числа с плавающей точкой по его дампу - C++
Как сконструировать значения целого числа(char, short int, long int) или числа с плавающей точкой(float,double) по его дампу(bin,oct,hex)??

Из целого числа получить новое, состоящее из нечетных цифр числа (2315663 -> 3153) - C++
Из целого числа получить новое, состоящее из нечетных цифр числа (2315663 -> 3153) на DevC++. Заранее спасибо

нужен тип целого числа для числа 19!= 121 645 100 408 832 000 - C++
Нужно посчитать сумму цифр целого положительного числа. double summacifr(double chislo) { double summa=0; while(chislo) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
24.04.2013, 17:11 #2
PK91, а как у Вас реализована сама дробь?
0
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;
}
если всё верно, то отзыв вот сюда [ссылка удалена]
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 17:27 #4
Цитата Сообщение от Tulosba Посмотреть сообщение
PK91, а как у Вас реализована сама дробь?
- поддержу вопрос, дробь идёт как отдельный класс или просто структура?
C++
1
2
3
4
5
struct DROB
{
     double chislitel;
     double znamenatel;
}
Ответ на вопрос повлияет на реализацию
0
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;
}
1
PK91
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 42
24.04.2013, 17:36  [ТС] #6
Дробь идёт как отдельный класс.
0
-=ЮрА=-
Заблокирован
Автор 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;
}
2
Миниатюры
добавление к дроби целого числа  
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;
0
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/
0
-=ЮрА=-
Заблокирован
Автор 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 Посмотреть сообщение
числа выполняется по правилу сложения дробей (без сокращения)
1
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
24.04.2013, 17:44 #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- нахождение общего кратного, твоя дробь приводится в знаменателе к наименьшему общему кратному, так что ответ поста 3 вобщем то не по заданию

Не по теме:

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

0
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;
}
0
-=ЮрА=-
24.04.2013, 17:47
  #13

Не по теме:

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

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

Вычислить значение дроби (кажется дроби) - C++
Доброго времени суток, возникла проблема, на днях дали вот такое интересное задание, только вот сути его понять не могу, нужно написать...

Дана строка. Определить, представляет ли она собой запись целого числа или запись дробного числа - C++
Дана строка.Необходимо определить ,представляет ли она собой запись целого числа,записать дробного числа.Считайте ,что дробная часть...

. Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа - C++
срочно помогите пожалуйста

Найти для числа правильные дроби с заданным знаменателем N и положителеным числителем - C++
Привет родные форумчане! Пожалуйста помогите решить буду особенно благодарен если напишите код с комментариями что как работает, заранее...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.04.2013, 17:55
Ответ Создать тему
Опции темы

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