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

Функция, которая печатает число прописью. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ по C++ Есть текст программы нужно переделать его http://www.cyberforum.ru/cpp-beginners/thread77064.html
Нужно сделать это: В одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму элементов массива с нечетными номерами; записать элементы массива в файл. ВОТ ТЕКСТ ПРОГРАММЫ...
C++ Динамический массив Народ прошу помочь написать задачу ибо завтра нада сдавать.Вот усливия : Сформировать одномерный динамический массив целых чисел.Из массива удалить все элементы принадлежащие заданному интервалу и... http://www.cyberforum.ru/cpp-beginners/thread77061.html
Ортонормированная матрица в С++ C++
Определить является ли матрица ортонормированной, т. е. такой, что скалярное произведение каждой пары различных строк равно 0, а скалярное произведение строки самой на себя равно 1....
Функция возвращает указатель на нужную ячейку переданного массива, но адрес другой C++
Пишу котрольку. В функцию передается массив созданный из объектов на основе собственной структуры. Ищет в нем нужную ячейку по одному из полей структуры объекта. Возвращает указатель на неё, но...
C++ Табулирование и расчет тригонометрических функций http://www.cyberforum.ru/cpp-beginners/thread77045.html
ЗДравствуйте, уважаемые программисты и сисадмины:) Буду благодарен, если Вы поможете мне и моей сестре разобраться в табулировании и расчете тригонометрических функций на visual C++. Наши...
C++ реализовать функцию 1. реализовать функцию вывода всех 5-ти знаковых натуральных чисел, в десяковом виде, в которых нету двух одинаковых непарных цифр. 2. реализовать функцию вывода всех 5-ти знаковых натуральных... подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.06.2010, 16:10
Луна, только что увидел ваше сообщение)

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
char *towords(int numb){
    //массив, для определения разряда, в котором находимся(сотни,десятки,еденицы...)
    int osn[11]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
 
    //массив оснований
    char *basis[11][10]={
        {"","","","","","","","","",""},
        {"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","одна","две","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
        {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
        {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
        {"","один","два","три ","четыре","пять","шесть","семь","восемь","девять"}};
 
    //массив окончаний
    char *termination[10][10]={
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяча","","","миллион","","","миллиард"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысячи","","","миллиона","","","миллиарда"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"},
        {"","","","тысяч","","","миллионов","","","миллиардов"}};
 
    char *dec[10]={"десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"};
 
    int n1=numb;
    int cnt=0;
 
    //подсчет количесива цифр в числе
    while (numb){
        numb/=10;
        ++cnt;
    }
 
    char result[100]={};
    int celoe=0;
 
    while (n1){
          if (!((cnt+1) % 3)){
            if ((n1/osn[cnt])==1){
                    n1%=osn[cnt];
                    --cnt;
                    celoe=n1/osn[cnt];
                    n1%=osn[cnt];
                    strcat(result, dec[celoe]);
                --cnt;
                if (!(cnt % 3)){
                    strcat(result, " ");
                strcat(result, termination[0][cnt]);
                strcat(result, " ");
                }
            }
            if (!cnt) break;
        }
        celoe=n1/osn[cnt];
        n1%=osn[cnt];
        strcat(result, basis[cnt][celoe]);
        --cnt;
        strcat(result, " ");
        if (!(cnt % 3)){
            strcat(result, termination[celoe][cnt]);
            strcat(result, " ");
        }
    }
    CharToOem(result,result);
    return result;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru