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

Цифры прописью - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Raphael92
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 154
04.01.2011, 20:46     Цифры прописью #1
Например вводится 456 - выводится четыре пять шесть
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
04.01.2011, 21:00     Цифры прописью #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
#include <iostream>
 
int main()
{
   char *mas[] = {"ноль", "один", "два", "три", "четыре", "пять",
                  "шесть", "семь", "восемь", "девять", "стопиццот"};
   int a;
   std::cin >> a;
   
   int digits[80];
   int lenght = 0;
   
   while (a)
   {
      digits[lenght] = a%10;
      a /= 10;
      lenght++;
   }
   
   for (int i = lenght-1; i >= 0; i--)
      std::cout << mas[digits[i]] << " ";
   std::cout << "\n";
 
   return 0;
}
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
04.01.2011, 21:00     Цифры прописью #3
как то так...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
using namespace std;
 
int main()
{
    int a, i, b = 10, mass[5] = {0};
    cout << "Enter number: \n";
    cin >> a;
    for(i = 0;a; i++)
    {
        mass[i] = a % 10;
        a = a / 10;
    }
 
    cout << mass[4] << ends << mass[3] << ends << mass[2] << ends << mass[1] << ends << mass[0];
 
    _getch();
    return 0;
}
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
04.01.2011, 21:04     Цифры прописью #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
#include <iostream>
 
int main()
{
   char const *mas[] = {"ноль", "один", "два", "три", "четыре", 
                        "пять", "шесть", "семь", "восемь", "девять"};
   int a;
   std::cin >> a;
   
   int digits[80];
   int lenght = 0;
   
   while (a && lenght < 80)
   {
      digits[lenght] = a%10;
      a /= 10;
      lenght++;
   }
 
   for (int i = lenght-1; i >= 0; i--)
      std::cout << mas[digits[i]] << " ";
   std::cout << "\n";
 
   return 0;
}
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
04.01.2011, 21:16     Цифры прописью #5
Mayonez, а зачем у вас массив размерности int digits[80]; ?
вводится в инт, а максимальное значение 32000 с хвостиком... то есть по сути 5 ячеек. Или я не прав?
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
04.01.2011, 21:22     Цифры прописью #6
finally....
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
#include <iostream>
 
int main()
{
   const char const *mas[] = 
           {"ноль", "один", "два", "три", "четыре", 
            "пять", "шесть", "семь", "восемь", "девять"};
   int a;
   std::cout << "Введите число: ";
   std::cin >> a;
   
   int digits[10];
   int lenght = 0;
   
   while (a)
   {
      digits[lenght] = a%10;
      a /= 10;
      lenght++;
   }
 
   for (int i = lenght-1; i >= 0; i--)
      std::cout << mas[digits[i]] << " ";
   std::cout << "\n";
   
   return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от IchMors Посмотреть сообщение
32000 с хвостиком...
ну вообще-то 2147483647
а это (32767) для short

Добавлено через 57 секунд
Цитата Сообщение от IchMors Посмотреть сообщение
Mayonez, а зачем у вас массив размерности int digits[80]; ?
переделал
IchMors
04.01.2011, 21:23     Цифры прописью
  #7

Не по теме:

Цитата Сообщение от Mayonez Посмотреть сообщение
Ваша программа просто выводит последние 5 цыфр через пробел а надо тыц
каюсь, каюсь... было лень

Yandex
Объявления
04.01.2011, 21:23     Цифры прописью
Ответ Создать тему
Опции темы

Текущее время: 04:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru