1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| ppp |
17.02.2008 13:03
Сообщение
#1
|
|
Гость |
помогите пожалуйста написать процедуру...
Дан текст, состоящий из слов, пробелов, и знаков препинания(запятая, точка с запятой, двоеточие) и завершается точкой. текст начинается со слова, а слова отделяются друг от друга пробелом или одним знаком припинания. слова состоят из букв латинского алфавита. найти все слова, состоящие из вхождений не более чем 20 букв. |
![]() ![]() |
| andriano |
17.02.2008 18:34
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
1. Из 4 моих вопросов ответ был только на 2: 1-й и 4-й. А как с остальными?
2. Что должна возвращать функция? Количество слов? Массив слов? Список слов? Если один из двух последних, то это глобальные объекты или передаваемые через параметры? 3. Судя по стилю того, что написано, предполагается реализация конечного автомата. Это не самый рациональный способ в данной ситуации. Но если идти по нему, необходимо ввести переменную, описывающую состояние автомата. Например, принадлежал ли предыдущий символ слову или был разделителем. И, соответственно, для различных сочетаний типа (буква/разделитель) текущего и предыдущего символа производятся те или иные действия. Например, если оба - символы, то продолжаем обработку текущего слова. 4. Лучше, на мой взгляд, разбирать строковыми операциями. Выглядеть должно примерно так: - заменяем все разделители пробелами. - заменяем все двойные пробелы одинарными (после чего слова у нас оказываются разделенными единственным пробелом. - цикл, на каждом шаге которого находим очередной пробел, обрабатываем слово от начал строки до пробела, удаляем из строки слово вместе с пробелом. - когда в строке не осталось пробелов, обрабатываем последнее входящее в нее слово. |
ppp на списки... плз 17.02.2008 13:03
andriano Во-первых, неизвестно, что такое текст, в каком ви... 17.02.2008 15:07
Гость
Во-первых, неизвестно, что такое текст, в каком в... 17.02.2008 16:01
Гость
1. Из 4 моих вопросов ответ был только на 2: 1-й ... 17.02.2008 19:35
andriano Примерно так (писал прямо здесь):
const
MaxWord... 17.02.2008 21:09
ppp
Примерно так (писал прямо здесь):
.
.
.
спасибо... 18.02.2008 11:17
klem4 Если текст задан именно так, как сказано в задании... 18.02.2008 22:06
volvo Правда? Ну, давай посмотрим:
{ здесь - твоя функц... 18.02.2008 22:23
klem4 на сколько я понял из условия между 2-мя словами м... 18.02.2008 22:58
volvo Значит, автор дает пример, противоречащий условию.... 18.02.2008 23:01
klem4 Да уж непонятка, ну если еще актуально, автор пуст... 18.02.2008 23:08
andriano Я дал решение в предположении, что несколько разде... 19.02.2008 19:50![]() ![]() |
|
Текстовая версия | 8.12.2025 20:28 |