IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Перенос слова, перенести слова, используя 3 правила
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Женский
Реальное имя: Марина

Репутация: -  0  +


Помогите, пожалуйста, очень прошу, хотя бы частично:
Перенос слова. Перенос русского слова с одной строки на другую с большей вероятностью выполняется правильно, если пользоваться следующими правилами:
1)две идущие подряд гласные можно разделить, если перед первой из них стоит согласная, а за второй идет хотя бы одна буква (буква й при этом рассматривается вместе с предшествующей ей гласной как единое целое);
2) две идущие подряд согласные можно разделить, если первой из них стоит гласная, а в той части слова, которая идет за второй согласной, имеется хотя бы одна гласная (буквы ь, ъ вместе с предшествующей согласной рассматриваются как единое целое);
3) если не удается применить первые два правила, то слово разбивают так, чтобы первая часть содержала более чем одну букву и оканчивалась на гласную, а вторая содержала хотя бы одну гласную.
Дан текст, состоящий из нескольких строк. Преобразовать текст таким образом, чтобы длина строк не превышала заданного значения, используя при этом перенос слов. blink.gif

Как найти ближайший к концу строки пробел, если при заданном значении слово "как бы разбивается"? Как осуществить на Паскале приведенный выше перенос???

Сообщение отредактировано: Gold_Fish -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Женский
Реальное имя: Марина

Репутация: -  0  +


Спасибки, Lapp smile.gif
Почти все дошло, кроме:
почему пишет что begin не хватает в:
Цитата
Vowels_Win:set of char=
['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];
Vowels_DOS:set of char=
['_',' ',':','_','р','с','_','Ё','_','R','"','г','>','л','_','н','_','о','_','п'];

и почему то на русский алфавит мой Паскаль не переходит, хотя у него и справка русская. Да, и если поставить Begin, то выдает потом ошибку №3.
Еще не оч поняла смысл этой аброкадабры, вернее её перевод:
Цитата
Write(''ў_¤Ёв_ Ё┐п д c< ¤<п дRа┐ вЁаRў -Ёп: ');

И в [#$0D,#$0A] выдает тоже ошибку, почему?
и что такое EoF? blink.gif
tst-ou-w.txt - это я так понимаю имя файла, а мне его заранее создать придется?
Цитата

Для копирования файлов и текстов очень рекомендую использовать программку Far. Знакома ты с ней? Ответь, пожалуйста.

Нет
Цитата
Постарайся, чтоб при копировании русские буквы не превратились в белиберду. Обязательно скажи, удалось ли тебе это.

Никак у меня с русскими не получается, он не хочет почему-то переключаться на русский текст... nea.gif
А так суть остального и предназначения я поняла smile.gif
Ой сколько я много вопросов накатала, извиняюсь, но так вышло smile.gif
Ответьте пожалуйста, заранее спасибо smile.gif

Сообщение отредактировано: Gold_Fish -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Gold_Fish, извини, я неправильно (не в той кодировке запостил прогу, каюсь.. Впредь буду внимательнее.

> почему пишет что begin не хватает в:
...
> И в [#$0D,#$0A] выдает тоже ошибку, почему?
Вот это я не знаю.. пробовал смоделировать разными способами - не вышло. Будем надеяться, что оно пройдет в правильной кодировке, либо вернемся к этому потом еще раз.

> и что такое EoF?
Это признак конца файла (End of File). Это функция, которая возвращает false покак конец не достигнут, а потом true. В данном случае чтение из файла продолжается до обнаружения его конца.

> tst-ou-w.txt - это я так понимаю имя файла, а мне его заранее создать придется?
Заранее не надо, это выходной файл, он сам создается заново. Имя можно изменить, как тебе нравится, или вообще запрашивать юзера имя выходного файла, как запрашиваем имя входного.

> Никак у меня с русскими не получается, он не хочет почему-то
> переключаться на русский текст... nea.gif
В Паскале, если это TP или BP, переключаться на русский сложно.. Если у тебя есть возможность, советую переключиться на FPC (FreePascal). Его можно скачать с сайта freepascal.org . Он совершенно бесплатный, но весит 28 мегов, поэтому на диалапе его качать замучишься.. Но в нем не только переключаться можно будет на русский, но и много другого хорошего (это как бы дальнейшее развитие ТР).
Но он тоже работает в кодировке DOS. И чтобы правильно копировать файлы, я настоятельно рекомендую тебе установить Far. Я тебя спрашивал о нем раньше, но ты деликатно промолчала. Ответь сейчас - можешь его поставить? Ты работаешь на своей машине или где-то еще? Весит он чуть больше 1 мега, взять можно на rarlab.com , при этом он тоже бесплатный. Когда ты его установишь, пойди в директорию
C:\Program Files\Far\Addons\Tables\Cyrillic\
и запусти скрипты KOI8-R.reg и Windows-1251.reg, нажми там все Ок, а потом перезапусти Фар.
Дальше объясню, когда подтвердишь установку..

> А так суть остального и предназначения я поняла smile.gif
Вот и славненько..

> Ой сколько я много вопросов накатала, извиняюсь, но так вышло smile.gif
Задавай сколько хочешь. Главное - чтоб поняла smile.gif
Ниже помещаю текст программы в правильной кодировке. Но если ты его будешь копировать из браузера через notepad, то русского все равно не будет. Нужен Far. Ясно?
Ну, давай, успехов тебе.. smile.gif
{ Hyphenation
Version 0.2
for Gold_Fish by Lapp }

const
Lx=30;
Vowels_Win:set of char=
['└','р','┼','х','и','╕','╚','ш','╬','ю','╙','є','█','√','▌','¤','▐','■','▀',' '];
Vowels_DOS:set of char=
['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];


var
fIn:file of char;
fOu:text;
fName,s:string;
c,d:char;
i,l,ws:integer;
Vow:set of char;
Gap,Start:boolean;

begin
Write('Введите имя файла для форматирования: ');
ReadLn(fName);
Assign(fIn,fName);
ReSet(fIn);
Assign(fOu,'tst-ou-w.txt');
ReWrite(fOu);
repeat
l:=0;
s:='';
d:=#0;
repeat
d:=c;
Read(fIn,c);
if not (c in [#$D,#$A]) then s:=s+c;
Inc(l)
until (l=Lx)or((d=#$D)and(c=#$A))or(EoF(fIn));
WriteLn(fOu,s)
until EoF(fIn);
Close(fIn);
Close(fOu);
ReadLn
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Gold_Fish   Перенос слова   6.12.2006 0:54
lapp   Дан текст, состоящий из нескольких строк. Преобра…   6.12.2006 11:13
Gold_Fish   :blink: Ой, неужели кто-то мне помог!!…   6.12.2006 18:48
lapp   Помогите доделать, пожалуйста. :unsure: Помочь -…   6.12.2006 19:12
Gold_Fish   Я знаю, что Lapp, я даже сначала так написала, а п…   6.12.2006 21:07
Lapp   Ну так вот, ввожу я уже свой текст: Хорошо, что…   7.12.2006 11:30
Gold_Fish   Спасибки, Lapp :) Почти все дошло, кроме: почему п…   8.12.2006 1:49
Lapp   Gold_Fish, извини, я неправильно (не в той кодиров…   8.12.2006 8:28
Pola   Спасибки, Lapp :) Почти все дошло, кроме: почему …   8.12.2006 15:16
Gold_Fish   Из браузера я не копирую, а сама перепечатываю в П…   8.12.2006 19:45
Lapp   Из браузера я не копирую, а сама перепечатываю в …   8.12.2006 19:55
Gold_Fish   Я установила новый, т к в старом Windows-1251.reg …   8.12.2006 20:18
Gold_Fish   Страничка freepascal.org не хочет открываться :bl…   8.12.2006 20:34
Lapp   Я установила новый, т к в старом Windows-1251.reg…   9.12.2006 9:18
Gold_Fish   А ты правда готова качать 28 мег?.. Какой у тя к…   9.12.2006 16:22
Gold_Fish   Премногоуважаемый Lapp! :))) Я создала обычный…   9.12.2006 16:52
Lapp   Премногоуважаемый Lapp! :))) Я создала обычны…   9.12.2006 17:20
Gold_Fish   Здраствуйте, друг мой Lapp! :))) (Снова Вас тр…   9.12.2006 17:50
Lapp   Вот вариант, читающий файл и выдающий отдельно стр…   9.12.2006 19:18
Gold_Fish   :) Более или менее все понятно, а вот куда впихнут…   10.12.2006 14:22
Lapp   Вот, есть первый ощутимый результат :). Я реализов…   10.12.2006 21:31
Gold_Fish   Сейчас разберусь в проге и попробую развеять :)))…   10.12.2006 23:41
Gold_Fish   Что-то не очень понимаю вот это место: И почему-т…   11.12.2006 0:50
Lapp   > И почему-то перед ошибка №121 :unsure: TP…   11.12.2006 5:52
Gold_Fish   Барахтаюсь :lol: В FPC я тоже пробовала эту прог…   11.12.2006 12:37
Lapp   > В FPC я тоже пробовала эту прогу, да он пропу…   11.12.2006 15:06
Gold_Fish   В общем-то ничего и не выдает :))) ( может быть я …   11.12.2006 17:49
Lapp   > В общем-то ничего и не выдает :))) > ... …   11.12.2006 18:01
Gold_Fish   Теперь вообще FPC другую штуку пишет (типа ошибки,…   11.12.2006 18:04
Lapp   Ну я вводила d.txt точно :))) Против сверхъестес…   11.12.2006 18:13
Gold_Fish   Против сверхъестественных явлений я пас.. Ошибка…   11.12.2006 18:15
Lapp   Теперь уже TP работает :) , а FPC прежнюю штучку…   11.12.2006 18:26
Gold_Fish   Что ТР работает - это хорошо, но хотелось бы узна…   11.12.2006 18:37
Lapp   > Штучку прежнюю, где > exited with > exi…   11.12.2006 18:55
Gold_Fish   Заметил еще одну квазиошибку в том своем тексте..…   11.12.2006 19:01
Lapp   Что сделать? :unsure: Заключить в фигурные ско…   11.12.2006 19:05
Gold_Fish   Заключить в фигурные скобки :))))))))) Ну не над…   11.12.2006 19:10
Алена   sTRing попробуй набрать, вместо того, что сейчас…   11.12.2006 18:06
Lapp   sTRing попробуй набрать, вместо того, что сейчас …   11.12.2006 18:10
Gold_Fish   УРА!!! Заработало :lol: Там просто в…   11.12.2006 18:10
Lapp   2) две идущие подряд согласные можно разделить, е…   11.12.2006 19:53
Michael_Rybak   Наверное "две идущие подряд согласные можно р…   11.12.2006 19:56
Gold_Fish   Вот это как понимать?.. :blink: Да, не знаю, так…   11.12.2006 19:57
Lapp   Пишу пояснения к реализации Правила №1 (см. пост №…   12.12.2006 20:08
Gold_Fish   Ура!!! Заработало, у меня перенеслось …   12.12.2006 22:04
Gold_Fish   Подскажите пожалуйста, как задать момент, когда вт…   12.12.2006 23:59
Lapp   > Ура!!! Заработало, Правда приятн…   13.12.2006 19:36
Gold_Fish   Спасибки :give_rose: Еще как пыталась :) , я и…   13.12.2006 21:22
Lapp   Вот тут: Rule №3: if ((w[i] in Vow) and ((w[i-1] i…   14.12.2006 8:29
Gold_Fish   А ты все же потрудись разобраться! Я не по…   16.12.2006 2:27
Lapp   Я не понимаю как переделать, подскажите пожалуйст…   16.12.2006 6:52
Gold_Fish   Я разбиралась, а все равно не поняла, а вторник - …   16.12.2006 20:33
Lapp   Gold_Fish, мне искренне жаль, что это оказалось не…   19.12.2006 11:41
Gold_Fish   Да все уже, сдала я :))) Вторую делаю к зачету уже…   19.12.2006 23:50
Lapp   Да все уже, сдала я Gold_Fish, пожалуйста, уважа…   20.12.2006 7:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 1:12
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name