Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите и мне, Простая программа 
:(
    Опции темы
Viking_
Дата 10.10.2004, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 2.10.2004

Репутация: нет
Всего: нет



Нужно написать программу, которая по числу выдает его буквееную запись. Пример n=3545 Вывод: три тысячи пятьсот сорок пять. n<100000
Help me!
PM MAIL   Вверх
Felliks
Дата 10.10.2004, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 15.8.2004
Где: Красноярский край

Репутация: 1
Всего: 7



ничего себе простаяsmile.gif у нас такие на олимпиадах по программированию были, я это сообщение завтра изменю с кодом, так не вспомнюsmile.gif


--------------------
Почему русские при зависании Windows всё время повторяют фразу "твой кролик написал" (Your Bunny Wrote)?
PM ICQ   Вверх
p0s0l
Дата 10.10.2004, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Качай DRKB. Оттуда можно было взять этот пример:
Код
function TextSum(S: integer): string;

 function Conv999(M: longint; fm: integer): string;
 const

   c1to9m: array[1..9] of string[6] =
   ('один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять');
   c1to9f: array[1..9] of string[6] =
   ('одна', 'две', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять');
   c11to19: array[1..9] of string[12] =
   ('одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
     'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
   c10to90: array[1..9] of string[11] =
   ('десять', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят',
     'семьдесят', 'восемьдесят', 'девяносто');
   c100to900: array[1..9] of string[9] =
   ('сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот',
     'восемьсот', 'девятьсот');
 var

   s: string;
   i: longint;
 begin

   s := '';
   i := M div 100;
   if i <> 0 then s := c100to900[i] + ' ';
   M := M mod 100;
   i := M div 10;
   if (M > 10) and (M < 20) then
     s := s + c11to19[M - 10] + ' '
   else
     begin
       if i <> 0 then s := s + c10to90[i] + ' ';
       M := M mod 10;
       if M <> 0 then
         if fm = 0 then
           s := s + c1to9f[M] + ' '
         else
           s := s + c1to9m[M] + ' ';
     end;
   Conv999 := s;
 end;

{--------------------------------------------------------------}
var

 i: longint;
 j: longint;
 r: real;
 t: string;

begin

 t := '';

 j := Trunc(S / 1000000000.0);
 r := j;
 r := S - r * 1000000000.0;
 i := Trunc(r);
 if j <> 0 then
   begin
     t := t + Conv999(j, 1) + 'миллиард';
     j := j mod 100;
     if (j > 10) and (j < 20) then
       t := t + 'ов '
     else
       case j mod 10 of
         0: t := t + 'ов ';
         1: t := t + ' ';
         2..4: t := t + 'а ';
         5..9: t := t + 'ов ';
       end;
   end;

 j := i div 1000000;
 if j <> 0 then
   begin
     t := t + Conv999(j, 1) + 'миллион';
     j := j mod 100;
     if (j > 10) and (j < 20) then
       t := t + 'ов '
     else
       case j mod 10 of
         0: t := t + 'ов ';
         1: t := t + ' ';
         2..4: t := t + 'а ';
         5..9: t := t + 'ов ';
       end;
   end;

 i := i mod 1000000;
 j := i div 1000;
 if j <> 0 then
   begin
     t := t + Conv999(j, 0) + 'тысяч';
     j := j mod 100;
     if (j > 10) and (j < 20) then
       t := t + ' '
     else
       case j mod 10 of
         0: t := t + ' ';
         1: t := t + 'а ';
         2..4: t := t + 'и ';
         5..9: t := t + ' ';
       end;
   end;

 i := i mod 1000;
 j := i;
 if j <> 0 then t := t + Conv999(j, 1);

 TextSum := t;
end;

Пример вызова:
s := TextSum(3545);
в результате s = 'три тысячи пятьсот сорок пять';


--------------------
С уважением, г-н Посол.
PM   Вверх
Viking_
Дата 10.10.2004, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 2.10.2004

Репутация: нет
Всего: нет



Спасибо большое. Но что такое DRKV?
PM MAIL   Вверх
Viking_
Дата 10.10.2004, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 2.10.2004

Репутация: нет
Всего: нет



Еще раз спасибо. Все работает.
PM MAIL   Вверх
p0s0l
Дата 10.10.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Пожалуйста! smile.gif

DRKB - Delphi Russian Knowledge Base - сборник советов и FAQов по Delphi - http://forum.vingrad.ru/index.php?showtopic=22229




--------------------
С уважением, г-н Посол.
PM   Вверх
MacTep
Дата 10.10.2004, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



DRKB-великолепнейшая штуковина. если кто еще не скачал, то очень сильно пожалеет, что допустил такую оплошность! smile.gif


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0985 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.