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

Перевод обыкновенной дроби в десятичную (в т.ч. периодическую) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Координаты мыши http://www.cyberforum.ru/cpp-beginners/thread647966.html
Предисловие: делаю OpenGl приложение в консольном режиме. Как определить координаты мыши? POINT pt; GetCursorPos(&pt); //Get the current Mouse location Пишет что: 1>MainFile.c(41): error C2275: POINT: недопустимое использование этого типа в качестве выражения 1> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\windef.h(343): см. объявление "POINT" 1>MainFile.c(41):...
C++ Программа светофор на Windows Forms Помогите пожалуйста решить такую задачу: нужно создать оконное приложение, в котором будет нарисован светофор и при нажатии на кнопку он должен менять цвета. http://www.cyberforum.ru/cpp-beginners/thread647964.html
C++ Подиагональное заполнение двухмерного массива
Необходимо заполнить двухмерный массив M змейкой по диагоналям. Подскажите как это сделать, если кто-нибудь делал что-то подобное.
C++ Проверьте пожалуйста, правильно ли я сделал задание
Вот задание Дано действительное х. Вычислить \frac{(x-1)(x-3)(x-7)K(x-63)}{(x-2)(x-4)(x-8)K(x-64)} { { int n=63,i,j=n+1; double x,s,f,t,g; cout<<"Vvedite x= "; cin>>x;
C++ Вызов формы программно http://www.cyberforum.ru/cpp-beginners/thread647855.html
В басике всо было просто - ничего подключать, ничего не срать и тп. Тут же етот си на всем экономит, и всю грязную работу надо делать самому. То, что я хочу сделать - выглятит так : У меня 2 формы через мастер,, и мне надо при определенном событии мою форму свернуть (this->Hide();) а другую открыть. this->Show(); он делает, а к другим он не хочет. Что надо подключать и объявлять и пожалуйста...
C++ Как поставить степень в C++ Вечер добрый, создал float a и double b теперь хочу задать им значения, a = -0.00330044982 b = 0.731 x 10 в -3408 степени. Как это реализовать? подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
07.09.2012, 23:05     Перевод обыкновенной дроби в десятичную (в т.ч. периодическую)
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <set>
#include <string>
#include <sstream>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string         T_str;
typedef std::vector<int>    T_numerators;
/////////////////////////////////////////////////////////////////////////////////////////
T_str  get_cyclic_number
    (
        int     numerator,
        int     denominator
    )
{
    std::ostringstream  sout;        
    sout    <<  numerator / denominator
            <<  '.';  
 
    T_str           fractional_part; 
    T_numerators    numerators;
    for(;;)
    {
        numerator   %=  denominator;
        numerator   *= 10;
 
        char    dig_char    =   char
                                    (
                                        '0' +   numerator / denominator
                                    );
        
        int     prev_dig_pos    =       std::find
                                            (
                                                numerators.begin(),
                                                numerators.end(),
                                                numerator
                                            )
                                    -   numerators.begin();
 
        if  (
                prev_dig_pos    ==  numerators.size()      
            )
        {
            fractional_part     .push_back( dig_char    );
            numerators          .push_back( numerator   );
        }
        else
        {
            fractional_part.insert
                (
                    prev_dig_pos,
                    "("
                );
            
            sout    <<  fractional_part
                    <<  ')';
            break;
        }
    }
    return  sout.str();
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    for(;;)
    {
        std::cout   <<  "numerator"
                    <<  '\t'
                    <<  "= ";
 
        int     numerator       =   0;
        std::cin    >>  numerator;
 
        std::cout   <<  "denominator"
                    <<  '\t'
                    <<  "= ";
 
        int     denominator     =   0;
        std::cin    >>  denominator ;
 
        if(denominator == 0)
        {
            break;
        }
 
        std::cout   <<  "cyclic_number"
                    <<  '\t'
                    <<  "= "
                    <<  get_cyclic_number
                            (
                                numerator,
                                denominator
                            )
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl;    
    }   
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru