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

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

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

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


Гость






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


Гость






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

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

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

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

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

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

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

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

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

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


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

 





- Текстовая версия 9.05.2024 6:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name