|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2007, 20:35 | #1 |
Новичок
Джуниор
Регистрация: 21.05.2007
Сообщений: 1
|
Перенос слов по слогам (не могу разобраться с алгоритмом)
Привет всем... У меня очень огромная просьба. В четверг надо сдавать лабу с перенос слов по слогам, от нее зависит зачет - не зачет по дисциплине в универе. Кто может, кому не лень, взываю к знающим людям в полном студенческом отчаянии! ПОМОГИТЕ!!!!!
Вот тут алгоритм! ЧТО с ним делатЬ?! Кто-нибудь может прислать вариант рабочий уже??! УМОЛЯЮ!!!!!!!!!! мыло на всякий случай firstday07@mail.ru |
21.05.2007, 22:43 | #2 |
Форумчанин
Регистрация: 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; И последняя функция подводит итоги. На вход ей подается просто некая строка, дальше она ее обрабатывает и возвращает строку с переносами. В данном, как Вы изволились выразиться, алгоритме, есть все. Сейчас Вам достаточно подробно все разжевали. Если Вы скажете, что Вам надо сделать, в чем заключается лаба... значит, либо я чего-то не объяснил, либо Вы чего-то не поняли, либо...
Не надо ничего усложнять. Все достаточно тривиально.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу разобраться | Var17 | Общие вопросы Delphi | 6 | 27.03.2010 01:21 |
Не могу разобраться с php_auto_prepend_file | Reverent | PHP | 1 | 04.08.2008 11:02 |