Перенос слова, перенести слова, используя 3 правила |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Перенос слова, перенести слова, используя 3 правила |
Gold_Fish |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 28 Пол: Женский Реальное имя: Марина Репутация: 0 |
Помогите, пожалуйста, очень прошу, хотя бы частично:
Перенос слова. Перенос русского слова с одной строки на другую с большей вероятностью выполняется правильно, если пользоваться следующими правилами: 1)две идущие подряд гласные можно разделить, если перед первой из них стоит согласная, а за второй идет хотя бы одна буква (буква й при этом рассматривается вместе с предшествующей ей гласной как единое целое); 2) две идущие подряд согласные можно разделить, если первой из них стоит гласная, а в той части слова, которая идет за второй согласной, имеется хотя бы одна гласная (буквы ь, ъ вместе с предшествующей согласной рассматриваются как единое целое); 3) если не удается применить первые два правила, то слово разбивают так, чтобы первая часть содержала более чем одну букву и оканчивалась на гласную, а вторая содержала хотя бы одну гласную. Дан текст, состоящий из нескольких строк. Преобразовать текст таким образом, чтобы длина строк не превышала заданного значения, используя при этом перенос слов. Как найти ближайший к концу строки пробел, если при заданном значении слово "как бы разбивается"? Как осуществить на Паскале приведенный выше перенос??? Сообщение отредактировано: Gold_Fish - |
Gold_Fish |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 28 Пол: Женский Реальное имя: Марина Репутация: 0 |
Более или менее все понятно, а вот куда впихнуть буквы "й, ь, ъ" для них просто массив создать в начале, да?
P. S. Дальше не могу продвинуться, никак не составлю условие для переноса Програмка прикольно работает, так интересно переносит твои, как ты выразился Цитата вот эти мои заумные мысли Сообщение отредактировано: Gold_Fish - |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Вот, есть первый ощутимый результат .
Я реализовал первое правило. Получается не так просто, чтобы объяснить в двух словах. Давай, лучше ты посмотришь и станешь задавать вопросы - по сделанному, а не "как дальше".. Я немного подозреваю, что ты смотришь на сделанное, как на пройденный этап, к которому нет смысла возвроащаться.. А это неправильно, так как именно в этом и состоит твой прогресс. Если можешь, развей мои подозрения . В принципе, реализация остальных правил может быть проведена по образу и подобию первого. Так что если ты действительно разберешься, ты сможешь это сделать. Извини за отстутствие комментариев, могу добавить позже.. > Более или менее все понятно, а вот куда впихнуть буквы "й, ь, ъ" > для них просто массив создать в начале, да? Я вообще несколько переделал организацию ввода алфавита. Ну, увидишь, как. Это для простоты, компактности и лучшей читаемости (да и писаемости тоже ) кода, особенно когда несколько кодировок. > P. S. Дальше не могу продвинуться, никак не составлю условие для переноса Вот, я его составил . Enjoy! Последние замечания: - вывод пока идет только на экран; - длина строки задается Lx, поварьируй ее.. Ну пока и все. { Hyphenation -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 29.04.2024 13:36 |