Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Lisiy
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 2
1

Перевод десятичной дроби в обычную и вывод на экран

24.05.2016, 13:55. Просмотров 1024. Ответов 1
Метки нет (Все метки)

Доброго времени суток, у меня такая проблема, мне нужно перевести десятичные дроби в обычные, например: 0.1 выдать на экран как 1/10, или при делении 3 на 5 выдать 3/5, по идее это можно выполнить с помощью классов, но сам не знаю как. Пожалуйста помогите.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 13:55
Ответы с готовыми решениями:

Перевод десятичной дроби из двоичной системы счисления в десятичную
Подскажите пожалуйста, не смог найти на форуме код, который бы осуществлял...

Умножение десятичной периодической дроби на число
Нужно написать программу которая принимает на вход два числа q и k Q -...

Перевод UNIX числа в обычную дату
Доброго времени суток. Хотел спросить, как можно определенное unix число...

Определить длину периода десятичной записи дроби 1/n
1)Из заданого числа вычли сумму его чисел. Из результата вычли ещё раз сумму...

Выделить период в десятичной дроби, если таковой имеется
Добрый день, форумчане! Подскажите пожалуйста, стоит задача, выделить период в...

1
TimeTwo
94 / 89 / 102
Регистрация: 29.11.2009
Сообщений: 394
24.05.2016, 15:12 2
Лучший ответ Сообщение было отмечено Lisiy как решение

Решение

Lisiy, да, все это можно реализовать с помощью классов и перегрузки операторов, а так же перегрузки конструкторов

вот примерно так (это сильно сыро)
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
#include <iostream>
using namespace std;
 
class d{
    int i;
    int c;
    int z;
public:
    d(){i=0;c=0;z=0;}
    d(int a, int b);
    d(float a);
    d(double a);
    d operator+(d obj);
    d operator=(d obj);
    d operator/(d obj);
    d operator*(d obj);
    d operator-(d obj);
    void show();
};
d::d(int a,int b){
    if(a>b){
        i=a/b;
        c=a%b;
        z=b;
    }else if(a==b){
        i=1;
        c=0;
        z=0;
    }else{
        i=0;
        c=a;
        z=b;
    }
}
d::d(float a){
    int x;
    x=a;
    a-=x;
    i=x;
    c=a*100;
    z=100;
}
d::d(double a){
    int x;
    x=a;
    a-=x;
    i=x;
    c=a*100;
    z=100;
}
void d::show(){
    for(int k=0;k<5;k++)
    for(int j=2;j<=c;j++)
        if((!(c%j))&&(!(z%j))){
            c/=j;
            z/=j;
        }
    cout<<i<<" "<<c<<"/"<<z<<endl;
}
d d::operator+(d obj){
    d tmp;
    tmp.c=c*obj.z+z*obj.c;
    tmp.z=z*obj.z;
    if(tmp.c>tmp.z){
        tmp.i=i+obj.i+tmp.c/tmp.z;
        tmp.c=tmp.c%tmp.z;
    }else if(tmp.c==tmp.z){
        tmp.i=i+obj.i+1;
        tmp.c=tmp.z=0;
    }else
        tmp.i=i+obj.i;
    return tmp;
}
d d::operator=(d obj){
    i=obj.i;
    c=obj.c;
    z=obj.z;
    return *this;
}
int main()
{
    d A(0.13),B(17,3),C;
    A.show();
    B.show();
    C=A+B;
    C.show();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2016, 15:12

Найти переодическую и непереодическую части десятичной дроби равной m/n
Даны взаимно простые натуральные числа m и n (m&gt;n). Найти переодическую и...

Получение целой и дробной части для десятичной дроби
Привет всем. Ищу ответа на достаточно простую задачу: человек вводит число в...

Дано натуральное число n > 1. Определить длину периода десятичной записи дроби 1/n.
Здравствуйте, помогите пожалуста решить задачу на с++... Дано натуральное...


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

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

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