![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Gold_Fish |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Помогите, пожалуйста, очень прошу, хотя бы частично:
Перенос слова. Перенос русского слова с одной строки на другую с большей вероятностью выполняется правильно, если пользоваться следующими правилами: 1)две идущие подряд гласные можно разделить, если перед первой из них стоит согласная, а за второй идет хотя бы одна буква (буква й при этом рассматривается вместе с предшествующей ей гласной как единое целое); 2) две идущие подряд согласные можно разделить, если первой из них стоит гласная, а в той части слова, которая идет за второй согласной, имеется хотя бы одна гласная (буквы ь, ъ вместе с предшествующей согласной рассматриваются как единое целое); 3) если не удается применить первые два правила, то слово разбивают так, чтобы первая часть содержала более чем одну букву и оканчивалась на гласную, а вторая содержала хотя бы одну гласную. Дан текст, состоящий из нескольких строк. Преобразовать текст таким образом, чтобы длина строк не превышала заданного значения, используя при этом перенос слов. ![]() Как найти ближайший к концу строки пробел, если при заданном значении слово "как бы разбивается"? Как осуществить на Паскале приведенный выше перенос??? Сообщение отредактировано: Gold_Fish - 6.12.2006 14:51 |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Дан текст, состоящий из нескольких строк. Преобразовать текст таким образом, чтобы длина строк не превышала заданного значения, используя при этом перенос слов. ![]() Как найти ближайший к концу строки пробел, если при заданном значении слово "как бы разбивается"? Как осуществить на Паскале приведенный выше перенос??? Первый и главный вопрос к тебе: знаки препинания не нужно учитывать? Это ведь тоже непростой вопрос. Например, обычно их нельзя переносить (отрывать от слова). А тире, скажем, отделяется от слова пробелом, но переносить его при этом тоже не стОит. Есть многосимвольные знаки препинания (... , ?.. , !.. , ..). И нужно ли сохранять пробелы в конце строки (впрочем, это, наверное, нет). Еще, есть такой особый знак препинания, как "красная строка", например.. Короче, ответь. Второй вопрос.. Не совсем понятен пункт 1. Правильно я понимаю, что в соответствии с ним слова "параноик", "наитие", "кондуит" нельзя перенести так: парано-ик, на-итие, конду-ит? Если пока забыть про знаки препинания и остальные проблемы, то начать можно примерно так.. От начала текста отмеряем максимальную длину строки (Lx) и смотрим, попадает ли разрыв в тело слова. Признаком этого можно считать наличие букв (а не пробелов, знаков препинания..) по обе стороны от разрыва. Вот я тут набросал примерный текст программки, которая берет в отдельную строку s слово, попавшее на разрыв. Дальше можно с ним развлекаться и смотреть, как его можно делить. Моя программа делает это пока только по урезанному первому правилу для, так сказать, демонстрации ![]() ![]() ![]() { Hyphenation } Забыл сказать: я использую пока английские буквы, иначе говоря латиницу, во избежание сложностей. Потом можно будет перейти на настоящий русский. Соответствие букв в основном понятно, надеюсь. Кроме обычных еще есть Q как Я и W как Ю. Текст пока в массиве, потом, видимо, нужно будет читать из файла.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 9:21 |