Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 21:24   #1
GoooodySmile
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 2
Сообщение Вставить символ переноса

Вставить во все слова текста символ переноса в позициях, где по правилам русского языка допустим перенос.
Помогите плиз народ!!! Заранее благодарен...
GoooodySmile вне форума Ответить с цитированием
Старый 03.11.2011, 05:30   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Вау, какие неслабые задания дают нынешним студентам!.. Тут со своим естественным интеллектом иной раз думаешь, думаешь, как перенести - ан вот, надо искусстевенный напрягать .
Боюсь, я пас.

Вот тебе пример: слово "постройка". Как перенесешь? Ответ: по-строй-ка. А твоя программа из каких соображений это сделает? Ты что, дашь ей словарь всех русских корней?..

Короче, ты пришел не по адресу. Тебе надо на форум любителей русского языка, Великого и Могучего. Они тебе там легко и просто объяснят, что с таким неуважением (чего? перенести? как два байта передать!) к нему подходить нельзя.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 03.11.2011, 09:08   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Короче, ты пришел не по адресу.
Ты это брось. Автору просто нужно вычислить какой слог в строке будет последним и поставить после него перенос. Врядли преподавателей интересует система а-ля Орфо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2011, 22:15   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты это брось. Автору просто нужно вычислить какой слог в строке будет последним и поставить после него перенос. Врядли преподавателей интересует система а-ля Орфо.
Не буду бросать. Это лучше ты брось такой тон со мной. Я ответил на вопрос совершенно по теме.

Во-первых, цитирую условие и выделяю, на что нужно обратить внимание:
Цитата:
Вставить во все слова текста символ переноса в позициях, где по правилам русского языка допустим перенос
Во-вторых, подчеркиваю: задача разбиения на слоги в РЯ совсем не так проста, как может показаться на первый взгляд (см. пример в моем предыдущем посте).

В третьих, я не гадаю, что кого интересует, а что нет, я просто следую условию: "... по правилам русского языка ..."
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 03.11.2011, 22:39   #5
Fi11eR
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 29
По умолчанию

там просто несколько условий проверить надо
после s[i] можно переносить если
* s[i+1] согл, s[i+2] глас (дополнительно проверить что до s[i+1] есть гласная)
* s[i] глас, s[i+1] глас
* s[i] ь/ъ, s[i+1] глас

+ проверить, чтобы не оставалась/переносилась одна буква

вроде так, если какие-то варианты не учел пишите
Fi11eR вне форума Ответить с цитированием
Старый 04.11.2011, 00:46   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Fi11eR Посмотреть сообщение
там просто несколько условий проверить надо
после s[i] можно переносить если
* s[i+1] согл, s[i+2] глас (дополнительно проверить что до s[i+1] есть гласная)
* s[i] глас, s[i+1] глас
* s[i] ь/ъ, s[i+1] глас
+ проверить, чтобы не оставалась/переносилась одна буква
вроде так, если какие-то варианты не учел пишите
Не учел, да. Пример см. выше, в моем первом посте.
Но для этих правил достаточно и более простого примера. Слово "корова" по этому алгоритму будет перенесено так: КОР-ОВА. На всяк случай напишу (не обижайтесь)), что правильно так: КО-РО-ВА.

Я не говорю, что задача неразрешима, но она совсем не так проста..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 04.11.2011, 01:48   #7
Fi11eR
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 29
По умолчанию

а помоему очень даже нормально это слово переносится.
можно перенести после "О"(причем после обоих), потому что дальше идет согласная и гласная

а постройка переносится как пост-рой-ка, кажется так правильно
Fi11eR вне форума Ответить с цитированием
Старый 04.11.2011, 02:36   #8
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Пост-рой-ка противоречит 5-му пункту § 119 правил переноса: http://www.rusyaz.ru/pr/opp.html

Ваше пример, кстати, был реализован в словаре переносов PageMaker’а. Я был в ужасе☻ (Но то, что "так правильно" заканчивается улыбочкой, вас полностью оправдывает.)
Цитата:
Сообщение от GoooodySmile Посмотреть сообщение
Вставить во все слова текста символ переноса...
Впервые нормальная задача на паскале! Кстати, чтобы этот символ был виден только в позиции переноса (иначе что же это будет за текст — для первоклашек?), его код должен быть не 45 (как у дефиса), а 31. Так называемый мягкий перенос.

Последний раз редактировалось Sasha_Smirnov; 04.11.2011 в 02:44.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.11.2011, 06:23   #9
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Fi11eR Посмотреть сообщение
а помоему очень даже нормально это слово переносится.
В том, что "корова" ОЧЕНЬ ДАЖЕ нормально переносится, я не сомневаюсь НИ СЕКУНДЫ. Вопрос только, как это согласуется с теми правилами, которые ты прописал выше.
Цитата:
можно перенести после "О"(причем после обоих), потому что дальше идет согласная и гласная
Спасибо, что объяснил. Я это тоже написал выше (читай внимаетельнее). Теперь объясни это себе, пожалуйста )).
Цитата:
а постройка переносится как пост-рой-ка, кажется так правильно
м-дя..
Ну хорошо, даже если так - скажи, КАК это согласуется с оглашенным тобой выше алгоритмом?..

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Впервые нормальная задача на паскале! Кстати, чтобы этот символ был виден только в позиции переноса (иначе что же это будет за текст — для первоклашек?), его код должен быть не 45 (как у дефиса), а 31. Так называемый мягкий перенос.
Саш, спасибо тебе за поддержку )), но все же я буду настаивать, что при всех своих достоинствах эта задача все же явно сильно перетягивает обычную сложность. Может, она потянуля бы на курсовик (или диплом), но опять странно - сложность в ней не программерская, а совсем из другой области..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 04.11.2011, 09:02   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но все же я буду настаивать
Что ж в таком случае ждем автора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из delphi вставить символ в word? Sony Общие вопросы Delphi 10 04.09.2014 19:51
Виртуальная клавиатура или как вставить символ в чужое приложение alex_stp Win Api 0 08.04.2011 16:26
как вставить символ?? Andrey770 Паскаль, Turbo Pascal, PascalABC.NET 4 05.04.2011 23:22
Знак переноса. RichEdit. Lazio Общие вопросы C/C++ 3 28.09.2009 13:28
Как вставить символ корень на Label1 prikolist Общие вопросы C/C++ 7 28.03.2009 18:31