| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > цифры в текст |
| Автор: qw1mb0 27.11.2011, 20:17 | ||||||
| Добрый день форумчане. Решил написать программку которая бы выводила словесный эквивалент цифрам в диапазоне от 0 до 10000. не особо пока заморачивался с вариантом если там число 20 или 923, принял за условие что такие цифры надо записывать как 0020 и 0923. Пока что получилось вот такое
Вроде все хорошо, но есть огромное НО: ввожу вот такую проверку
Почему то программа вообще ничего не выводит. Так же при вводе таких цифр, которые заканчиваются на 10-19 выводится (например для 1210): Одна тысяча Двести CODE(0x9722df0) Попробывал добавить что-то типа такого:
Но результат выполнеия все тот же. Кто увидел ошибку. Укажите пожалуйста на нее и как можно решить данную задачку. Просьба не давать готовые решения, а натолкнуть на путь истинный. |
| Автор: arto 27.11.2011, 20:50 |
| \&lol -- ? |
| Автор: qw1mb0 27.11.2011, 21:07 | ||||
| ну это была ссылка на подпрограмму которая приведена в 3 врезке кода. Я думал сначала сделать как вложенный массив Но как обойтись без проверки последней цифры, если само число заканчивается на 10-19. Добавлено через 7 минут и 53 секунды Разобрался с цифра 10-19.
Все корректно работает. Но слишком громоздко. Подскажите как можно уменьшить эти elsif. И почему то при добавлении проверки что цифра меньше 10000 и больше 0:
все повисает |
| Автор: qw1mb0 27.11.2011, 21:31 |
| от \&lol или как в последнем варианте \@ten можно совсем избавиться, так что в данной реализации нам совсем все равно какое там значение. можно во 2 элемент массива @thrid вставить анонимный массив и в секции с проверками условий вместо $ten[i]. Вставить $thrid[1][i]. Лирическое отступление |
| Автор: qw1mb0 27.11.2011, 22:32 | ||
Как можно уменьшить блок кода с проверками:
До какого нибудь цикла ? |
| Автор: qw1mb0 27.11.2011, 23:29 | ||
Переделал такой пример для аналогичной задачки с годом
Буду рад любым замечаниям по обоим кодам |
| Автор: qw1mb0 28.11.2011, 00:46 | ||
Избавился от уродского блока проверок. Я конечно извиняюсь, что я так тупо посты набиваю.... просто пишу сразу как получается что-то решить. буду рад коментариям бывалых |
| Автор: qw1mb0 28.11.2011, 20:30 | ||
И конечный вариант получился таким:
|