IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> анализ текстового файла, выбрать и преобразовать слова в числа
Denny61
сообщение 26.06.2007 22:59
Сообщение #1


Гость






Доброе время суток! Задача: Сост программу обеспечивающую ввод текста вида "Мама на рынке купила три килограмма бананов по цене тридцать пять рублей за килограмм... " ну и т.д в файл, а затем анализируя текст вывести сумму всех покупок (т.е сколько денег мама потратила) так вот преобразовать слова в цифры понятно как, а вот как сделать так что бы пр-ма складывала в два массива рубли к рублям а килограммы к килограммам не понятно, сделал это на Си препод не принял... только на Паскале (((
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.06.2007 21:22
Сообщение #2


Гость






Поскольку тут образовалось чисто теоретическое обсуждение достоинств кода, которого никто не видел - то и я расскажу чисто теоретически, как проще всего решить эту задачу...

На форуме есть специальная тема - "Разбиение строки на слова", идешь туда, берешь любой код, который тебе нравится и в котором ты сможешь разобраться (я бы посоветовал либо мой, либо представленный klem4), разбиваешь введенное предложение на слова, а потом делаешь следующее:

1) описываешь 3 массива записей - число/строка: сотни (900, 800, ... 100), десятки (90, 80, ..., 10) и единицы (19, 18, 17, ..., 11, 9, ..., 1) - в каждом из которых ставишь в соответствие соответствующему числу строку...

2) проходишь по массиву слов, на которые разделилось твое предложение, в поисках слова "кг." (ну, или "килограмм", ты должен решить для себя, как именно ты будешь вводить это слово). И от найденного слова "кг." идешь к началу предложения и суммируешь все числа, соответствующие словам из массива единиц, десятков и сотен (именно в таком порядке !!!), до тех пор, пока очередное слово не будет НЕсоответствующим ни одному из значений массивов.

То же самое проделываешь и с "руб."

И наконец - перемножаешь полученное число килограмм на стоимость одного кг.

Все, задача решена - и никакого нагромождения циклов, и я не вижу причины, чтоб этот алгоритм не работал...

Добавлено:
Можно все три массива (сотни/десятки/единицы) объединить в один, но при поиске в нем слов надо не забывать, что просматриваться он должен от конца к началу (!!!)

Сообщение отредактировано: volvo - 27.06.2007 21:33
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 21:52
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"