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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2007, 20:35   #1
Only Love
Новичок
Джуниор
 
Регистрация: 21.05.2007
Сообщений: 1
По умолчанию Перенос слов по слогам (не могу разобраться с алгоритмом)

Привет всем... У меня очень огромная просьба. В четверг надо сдавать лабу с перенос слов по слогам, от нее зависит зачет - не зачет по дисциплине в универе. Кто может, кому не лень, взываю к знающим людям в полном студенческом отчаянии! ПОМОГИТЕ!!!!!

Вот тут алгоритм! ЧТО с ним делатЬ?! Кто-нибудь может прислать вариант рабочий уже??! УМОЛЯЮ!!!!!!!!!!
мыло на всякий случай firstday07@mail.ru
Only Love вне форума Ответить с цитированием
Старый 21.05.2007, 22:43   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Ну, пойдем по порядку. Пишу заголовок функции и разьясняю, что она делает:
1. function isSogl(c: Char): Boolean; Проверяет, является ли символ согласным
2. function isGlas(c: Char): Boolean; Проверяет, является ли символ гласным.
3. function isSpecSign(c: Char): Boolean; Проверяет, является ли символ специальным (в данном контексте - разделителем)
4. function GetSymbType(c: Char): TSymbol; Возвращает тип символа: согласный, гласный, разделитель, неопределен.
5. function isSlogMore(c: pSymbAr; start, len: Integer): Boolean; Определяет, можно ли сделать перенос в массиве "с" в промежутке от start до len. Как я понимаю используется вместе с предыдущей функцией, т.е. сперва с помощью GetSymbType получить из слова массив TSymbol и дальше с помощью данной функции проверить, можно ли в нем сделать перенос.
6. function SetHyph(pc: PChar; MaxSize: Integer): PChar; Фактически, она и проделывает всю работу. Функции на вход подается указатель на массив символов(читай строка) (pc), размер и на выходе получается указатель на строку, в которой расставлены знаки переноса - "#$1F"
7. function Red_GlasMore(p: PChar; pos: Integer): Boolean; На вход функции подается указатель на строку и позиция символа, с которого начинается чтение. Дальше функция проверяет, есть ли в данной строке гласная буква.
8. function Red_SlogMore(p: Pchar; pos: Integer): Boolean; аналогично предыдущей функции, но для согласных.
9. function MayBeHyph(p:PChar;pos:Integer):Bool ean; На вход подается указатель на строку и позиция, с которого начинается чтение. Функция проверяет, можно ли сделать в данной строке перенос.
10. function SetHyphString(s : string):string; И последняя функция подводит итоги. На вход ей подается просто некая строка, дальше она ее обрабатывает и возвращает строку с переносами.


В данном, как Вы изволились выразиться, алгоритме, есть все. Сейчас Вам достаточно подробно все разжевали. Если Вы скажете, что Вам надо сделать, в чем заключается лаба... значит, либо я чего-то не объяснил, либо Вы чего-то не поняли, либо...
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться Var17 Общие вопросы Delphi 6 27.03.2010 01:21
Не могу разобраться с php_auto_prepend_file Reverent PHP 1 04.08.2008 11:02