Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 30.10.2020
Сообщений: 4

Необходимо записать введенную сумму денег словами

30.10.2020, 22:20. Показов 1682. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В приложении Тинькофф для осуществления перевода пользователь
вводит сумму (в рублях) от 1 до 9999.
Необходимо записать введенную сумму денег словами.

Пример:
Input 1900
Output Одна тысяча девятьсот рублей
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2020, 22:20
Ответы с готовыми решениями:

Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке
Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке.

Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке
Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке Еще раз создадите эту тему (в третий раз) - карточка...

Вывести на экран словами введенную сумму с названием валюты с правильным окончанием
Пользователь вводит число от 1 до 9999 (сумму выдачи в банкомате). Необходимо вывести на экран словами введенную сумму и в конце написать...

2
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
31.10.2020, 01:25
Pascal
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
function Text(x: integer): String;
const   
odin: array of String = ('десять','одиннадцать', 'двенадцать','тринадцать','четырнадцать','пятнадцать',
 'шестнадцать','семнадцать','восемнадцать','девятнадцать');
c: array of array of String = (
( 'один', 'десять', 'сто', 'одна тысяча' ),
( 'два', 'двадцать', 'двести', 'две тысячи' ),
( 'три', 'тридцать', 'триста', 'три тысячи' ),
( 'четыре', 'сорок', 'четыреста', 'четыре тысячи' ),
( 'пять', 'пятьдесят', 'пятьсот', 'пять тысяч' ),
( 'шесть', 'шестьдесят', 'шестьсот', 'шесть тысяч' ),
( 'семь', 'семьдесят', 'семьсот', 'семь тысяч' ),
( 'восемь', 'восемьдесят', 'восемьсот', 'восемь тысяч' ),
( 'девять', 'девяносто', 'девятьсот', 'девять тысяч' ));
 
begin  
 var s := x.toString;  //  1 > 4   2 > 3 3 > 2 4>1
 var (n, sr, z) := (s.Length, '', '','');
 for var i := s.Length downto 1 do
   if ((i = n-1) and (n>1) and (s[^2] ='1')) then 
     Result := odin[Strtoint(s[n])]
   else 
     if (s[i] <> '0')  then Result := c[Strtoint(s[i])-1, n-i] +' '+ Result;
 if (n > 1) and (s[^2] = '1') then 
   sr := ' рублей'
 else
    case s[n] of
      '0','5'..'9': sr := 'рублей';
      '1': sr := 'рубль';
      '2'..'4': sr := 'рубля';
    end;      
  Result += sr;
end;
 
Begin
  Text(ReadlnInteger('Введите число:')).Println;;
end.
1
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
31.10.2020, 10:40
Лучший ответ Сообщение было отмечено Rocketq как решение

Решение

Чуток оптимизации
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
begin  
 var s := x.toString;  
 var (n, sr) := (s.Length, 'рублей');
 for var i := s.Length downto 1 do
   if ((i = n-1) and (n>1) and (s[^2] ='1')) then 
     Result := odin[Strtoint(s[n])]+' '
   else 
     if (s[i] <> '0')  then Result := c[Strtoint(s[i])-1, n-i] +' '+ Result;
 if not((n > 1) and (s[^2] = '1')) then 
    case s[n] of
      '1': sr := 'рубль';
      '2'..'4': sr := 'рубля';
    end;      
  Result += sr;  
end;
...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2020, 10:40
Помогаю со студенческими работами здесь

Вывести на экран введенную сумму словами + название валюты с правильным окончанием
Пользователь вводит число от 1 до 9999 (сумму выдачи в банкомате). Необходимо вывести на экран словам введенную сумму и в конце написать...

Записать в файл введенную пользователем информацию
Помогите сделать программу... Создать диалоговое окно, которое будет иметь (помимо стандартных кнопок ОК и ОТМЕНА) текстовое поле и...

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

Составить программу расчета суммы денег, которую необходимо единовременно попросить у родителей
ежемесячная стипендия студента составляет А руб., а расходы на проживание превышают стипендию и составляют В руб. в месяц. Рост цен...

Составьте программу расчёта суммы денег, которую необходимо единовременно попросить у родителей
2.Ежемесячная стипендия студента составляет N гривен, а расходы на проживание превышают стипендию и составляют M гривен в месяц. Рост цен...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru