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

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

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

Разработать функцию, которая формирует стринг, что является словесной записью заданного числа - C++

11.11.2012, 03:22. Просмотров 598. Ответов 6
Метки нет (Все метки)

Постановка задания:

Разработать функцию, которая формирует стринг, что является словесным записью (числительным) заданного двухзначного числа, например "сорок три" в случае числа 43. Сгенерировать последова ¬ довнисть из N случайных двоичный чисел. Используя разработанную функцию, напечатать таблицу значений этих чисел и их словесных записей.

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
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <time.h>
#include <windows.h>
 
using namespace std;
 char*Rus(const char* text);
 
int main()
{
    long i,n;
    do
    {
        srand(time(NULL));
        std::cout<<"Enter num elemens : ";
        std::cin>>n;
        std::cout<<"Generated numbers\r\n";
        for(i = 0; i < n; i++)
            std::cout<<rand()%100<<"\r\n";
        puts("Press Y for new input\r\n");
    }
    while(toupper(getch()) == 'Y');
       
        int k;
      
        char s[500], s1[500];
        cin>>k;
      //  s1="";
       // s="";
    if ((k>=10) && (k<20))
    {
        switch(k)
        {
         case 10: strcpy (s, Rus("десять"));break;
         case 11: strcpy (s, Rus("одиннадцать"));break;
         case 12: strcpy (s, Rus("двенадцать"));break;
         case 13: strcpy (s, Rus("тринадцать"));break;
         case 14: strcpy (s, Rus("четырнадцать"));break;
         case 15: strcpy (s, Rus("пятнадцать"));break;
         case 16: strcpy (s, Rus("шестнадцать"));break;
         case 17: strcpy (s, Rus("семнадцать"));break;
         case 18: strcpy (s, Rus("восемнадцать"));break;
         case 19: strcpy (s, Rus("девятнадцать"));break;
        }
    }
    else
    {
     switch(k/10)
     {
            
 
        case 2: strcpy (s, Rus("двадцать")); break;
        case 3: strcpy (s, Rus("тридцать"));break;
        case 4: strcpy (s, Rus("сорок"));break;
        case 5: strcpy (s, Rus("пятьдесят"));break;
        case 6: strcpy (s, Rus("шестьдесят"));break;
        case 7: strcpy (s, Rus("семьдесят"));break;
        case 8: strcpy (s, Rus("восемьдесят"));break;
        case 9: strcpy (s, Rus("девяносто"));break;
       
     };
     switch(k%10)
     {
        case 1: strcpy (s1 , Rus("один"));break;
        case 2: strcpy (s1 , Rus("два"));break;
        case 3: strcpy (s1 , Rus("три"));break;
        case 4: strcpy (s1 , Rus("четыре"));break;
        case 5: strcpy (s1 , Rus("пять"));break;
        case 6: strcpy (s1 , Rus("шесть"));break;
        case 7: strcpy (s1 , Rus("семь"));break;
        case 8: strcpy (s1 , Rus("восемь"));break;
        case 9: strcpy (s1 , Rus("девять"));break;
       
        };
    };
 
    cout<<s<<" "<<s1<<endl;
    system ("pause");
 
    return 0;
}
 
char bufRus[500];
char* Rus(const char* text) {
    CharToOemA(  text, bufRus);
    return bufRus;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 03:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать функцию, которая формирует стринг, что является словесной записью заданного числа (C++):

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

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

Разработать функцию, которая для заданного натурального числа находит корень - C++
Разработать функцию f(n), которая для заданного натурального числа n находит значение корень n + n

Разработать функцию,которая для заданного натурального числа n-находит значение - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Редактор формул внизу страницы

Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n - C++
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n. Вычислить с помощью нее значение...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
11.11.2012, 12:56 #2
На скорую руку.

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
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE,"Rus");
 
    bool label = false;
    int n;
    char res[50] = " ";
 
    cout << "Enter n: ";
    cin >> n;
 
    switch (n)
    {
    case 10: strcat(res, "десять"); 
        label = true;
        break;
    case 11: strcat(res, "одинадцать"); 
        label = true;
        break;
    case 12: strcat(res, "двенадцать"); 
        label = true;
        break;
    case 13: strcat(res, "тринадцать"); 
        label = true;
        break;
    case 14: strcat(res, "четырнадцать");
        label = true;
        break;
    case 15: strcat(res, "петнадцать"); 
        label = true;
        break;
    case 16: strcat(res, "шестнадцать"); 
        label = true;
        break;
    case 17: strcat(res, "семнадцать"); 
        label = true;
        break;
    case 18: strcat(res, "восемьнадцать"); 
        label = true;
        break;
    case 19: strcat(res, "девятнадцать"); 
        label = true;
        break;
    }
 
    if (!label)
    {
        switch (n / 10)
        {
        case 2: strcat(res, "двадцать ");
            break;
        case 3: strcat(res, "тридцать ");
            break;
        case 4: strcat(res, "сорок ");
            break;
        case 5: strcat(res, "педесять ");
            break;
        case 6: strcat(res, "шестдесят ");
            break;
        case 7: strcat(res, "семьдесят ");
            break;
        case 8: strcat(res, "восемьдесят ");
            break;
        case 9: strcat(res, "девяносто ");
            break;
        }
        switch (n % 10)
        {
        case 1: strcat(res, "один");
            break;
        case 2: strcat(res, "два");
            break;
        case 3: strcat(res, "три");
            break;
        case 4: strcat(res, "четыре");
            break;
        case 5: strcat(res, "пять");
            break;
        case 6: strcat(res, "шесть");
            break;
        case 7: strcat(res, "семь");
            break;
        case 8: strcat(res, "восемь");
            break;
        case 9: strcat(res, "девять");
            break;
        }
    }
 
    cout << "Res " << res << endl;
 
    system("PAUSE");
    return 0;
}
0
andrywkaja
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 9
11.11.2012, 14:50  [ТС] #3
А как сделать чтобы не пользователь задавал число, а оно было сгенерированное случайно ..?
0
Артем Смирнов
6 / 6 / 1
Регистрация: 15.05.2012
Сообщений: 40
11.11.2012, 14:52 #4
Случайное число из диапазона [b, b + a - 1]
C++
1
(rand() % a) + b
Вы можете написать свою функцию, которая будет возвращать случайное число из диапазона [a, b]:
int random(int a, int b)
C++
1
2
3
4
{
    if (b < a) std::swap(a, b);
    return a + rand() % abs(b - a + 1);
}
функция rand() (из <cstdlib>) возвращает псевдослучайное число от 0 до RAND_MAX. Константа RAND_MAX также определена в <cstdlib> и обычно равна 32767.
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
11.11.2012, 15:35 #5
andrywkaja, Этот код.
C++
1
2
3
  
cout << "Enter n: ";
cin >> n;
замените на этот.
C++
1
2
srand(time(0));
n = rand () 99 + 1;
0
Croessmah
Эксперт CЭксперт С++
13205 / 7476 / 839
Регистрация: 27.09.2012
Сообщений: 18,379
Записей в блоге: 3
Завершенные тесты: 1
11.11.2012, 15:41 #6
Записать число словами
0
andrywkaja
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 9
12.11.2012, 01:51  [ТС] #7
SeregaC++, А как вместо одного числа сгенерировать масив случайних чисел..? Чтобы программа прописала прописью все эти случайные числа..?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 01:51
Привет! Вот еще темы с ответами:

Разработать функцию, которая переставляет в обратном порядке цифры заданного долгого целого числа - C++
Разработать функцию, которая переставляет в обратном порядке цифры заданного долгого целого числа (например, число 5321 превращается в...

Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей - C++
Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей. С помощью данной функции: вывести на...

Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. - C++
Привет всем кто читает эту тему! Пожалуйста, кому не трудно помогите с задачами на функци, заранее огромное спасибо. I Разработка...

Разработать функцию, которая для заданного натурального числа N возвращает число его делителей - C++
Разработать функцию, которая для заданного натурального числа N возвращает кол-во его делителей. с помощью данной функции:для каждого...


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

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

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