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

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

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

3 страниц V < 1 2 3 >  
 Ответить  Открыть новую тему 
> Перенос слова, перенести слова, используя 3 правила
сообщение
Сообщение #21


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

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

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


Вот, есть первый ощутимый результат smile.gif.
Я реализовал первое правило. Получается не так просто, чтобы объяснить в двух словах. Давай, лучше ты посмотришь и станешь задавать вопросы - по сделанному, а не "как дальше".. Я немного подозреваю, что ты смотришь на сделанное, как на пройденный этап, к которому нет смысла возвроащаться.. А это неправильно, так как именно в этом и состоит твой прогресс. Если можешь, развей мои подозрения smile.gif.

В принципе, реализация остальных правил может быть проведена по образу и подобию первого. Так что если ты действительно разберешься, ты сможешь это сделать. Извини за отстутствие комментариев, могу добавить позже..

> Более или менее все понятно, а вот куда впихнуть буквы "й, ь, ъ"
> для них просто массив создать в начале, да?
Я вообще несколько переделал организацию ввода алфавита. Ну, увидишь, как. Это для простоты, компактности и лучшей читаемости (да и писаемости тоже smile.gif) кода, особенно когда несколько кодировок.

> P. S. Дальше не могу продвинуться, никак не составлю условие для переноса wacko.gif
Вот, я его составил smile.gif. Enjoy! smile.gif

Последние замечания:
- вывод пока идет только на экран;
- длина строки задается Lx, поварьируй ее..
Ну пока и все.
{ Hyphenation
Version 0.4
- rule #1
- getting the last w in a line
- reading the file
for Gold_Fish by Lapp }

const
Lx=37;
VowDOS='АаЕеЁёИиОоУуЫыЭэЮюЯя';
ConDOS='БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧч';
IShDOS='Йй';
SHzDOS='ЪъЬь';

var
fIn:file of char;
fOu:text;
fName,s,t,w,Map:string;
c,d:char;
i:integer;
Vow,Con,ISh,SHz,Let:set of char;
Gap,Start:boolean;

begin
Write('Введите имя файла для форматирования: ');
ReadLn(fName);
{fName:='d.txt';}
Assign(fIn,fName);
ReSet(fIn);
Assign(fOu,'tst-ou-w.txt');
ReWrite(fOu);
Vow:=[];
Con:=[];
Ish:=[];
for i:=1 to Length(VowDOS) do Include(Vow,VowDOS[i]);
for i:=1 to Length(ConDOS) do Include(Con,ConDOS[i]);
for i:=1 to Length(IShDOS) do Include(ISh,IShDOS[i]);
for i:=1 to Length(SHzDOS) do Include(SHz,SHzDOS[i]);
Let:=Vow+Con+ISh+SHz;
s:='';
repeat
d:=#0;
while (Length(s)<Lx)and((d<>#$D)or(c<>#$A))and not EoF(fIn) do begin
if s=' ' then s:='';
d:=c;
Read(fIn,c);
if not (c in [#$D,#$A]) then s:=s+c;
end;
t:='';
if Length(s)=Lx then repeat
d:=c;
Read(fIn,c);
if not (c in [' ',#$D,#$A]) then t:=t+c;
until (c=' ')or((d=#$D)and(c=#$A))or(EoF(fIn));
if t<>'' then while not (s[Length(s)]=' ')or(Length(s)=0) do begin
Insert(s[Length(s)],t,1);
Delete(s,Length(s),1)
end;

{Rule #1}
if Length(t)>=4 then begin
for i:=1 to Length(t) do Map[i]:=Chr(i);
w:=t;
for i:=Length(t) downto 2 do {убираем Й после гласных в слове}
if (w[i] in ISh)and(w[i+1] in Vow) then begin
Delete(w,i,1);
Delete(Map,i,1)
end;
for i:=Length(w)-2 downto 2 do
if (w[i+1] in Vow)and(w[i] in Vow)and(w[i+2] in Let)and(w[i-1] in Con) then
if Length(s)+Ord(Map[i])<Lx then begin
s:=s+Copy(t,1,Ord(Map[i]))+'-';
Delete(t,1,Ord(Map[i]))
end;
end;
WriteLn(s);
s:=t;
if c=' ' then s:=s+' ';

{WriteLn(fOu,s)}
until EoF(fIn);
Close(fIn);
{ Close(fOu); }
;ReadLn
end.


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


Новичок
*

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

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


Цитата
Я немного подозреваю, что ты смотришь на сделанное, как на пройденный этап, к которому нет смысла возвроащаться.. А это неправильно, так как именно в этом и состоит твой прогресс. Если можешь, развей мои подозрения smile.gif

Сейчас разберусь в проге и попробую развеять smile.gif))
И спасибо Сударь, благодаря Вам я плавно приближаюсь к окончанию первого семестра моего учения, благодаря Вашей бескорыстной помощи give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Новичок
*

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

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


Что-то не очень понимаю вот это место:
Цитата
for i:=1 to Length(VowDOS) do Include(Vow,VowDOS[i]);
for i:=1 to Length(ConDOS) do Include(Con,ConDOS[i]);
for i:=1 to Length(IShDOS) do Include(ISh,IShDOS[i]);
for i:=1 to Length(SHzDOS) do Include(SHz,SHzDOS[i]);

И почему-то перед [i] ошибка №121 unsure.gif
Что тогда значит "i" ? wacko.gif
Ещё вот это можно пояснить:
Цитата
s:=s+Copy(t,1,Ord(Map[i]))+'-';

Что такое тут Copy(t,1,Ord(Map[i])) ? blink.gif

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


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

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

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


> И почему-то перед [i] ошибка №121 unsure.gif
TP этого действительно не пропускает. Я думал, что ты уже перешла на FPC..
Для того, чтобы это скомпилить в TP, добавь тип string в определение конмтант, вот так:
  VowDOS='АаЕеЁёИиОоУуЫыЭэЮюЯя';
ConDOS='БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧч';
IShDOS='Йй';
SHzDOS='ЪъЬь';


> Что-то не очень понимаю вот это место:
> for i:=1 to Length(VowDOS) do Include(Vow,VowDOS[i]);
> ...
Это заполнение множеств. Раньше я задавал их непосредственно (см. старый вариант проги), а сейчас через строчку-константу. Так удобнее, согласись. Правда, требует лишних операторов (вот этих).

> Что тогда значит "i" ? wacko.gif
Это переменная цикла. См. описание цикла FOR в документации. Рекомендую описание:
http://download.excode.ru/download277.html

> Что такое тут Copy(t,1,Ord(Map[i])) ? blink.gif
Копирование части строки. В указанном документе см. Приложение 4, Модуль System, П 4.1.3.

Давай, Рыбка - барахтайся, а то утонешь! smile.gif


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


Новичок
*

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

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


Барахтаюсь lol.gif
В FPC я тоже пробовала эту прогу, да он пропускает это место, но в результате непонятно что мне выдает, вот так nea.gif
Цитата
Для того, чтобы это скомпилить в TP, добавь тип string в определение конмтант

А можно попроще для меня сказать еще раз? rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


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

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

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


> В FPC я тоже пробовала эту прогу, да он пропускает это место,
> но в результате непонятно что мне выдает, вот так
Попытайся все же пердать словами, что именно она выдает..
Мне, например, она выдает примерно следующее:
Цитата
C:\Home\home\ak\_pas\_t\t056_Gold_Fish>t056-4.exe
Введите имя файла для форматирования: d.txt
Милейшая исполнительница желаний
безумных старух, Вы создали, извиня-
юсь-с - doc-файл?..
Дружок, пойди в неказистый синенький
Фар, создай там в рабочей твоей
директории новый файл - назови,
скажем, d.txt. Убедись, однако, что
кодировка состоит DOS и сокопируй
туда вот этот самовый бред.. сорри,
вот эти мои заумные мысли - да, да,
прямо отсюда. Да и сохрани его, да и
закрой степенно..
Затем, нимало не отдыхаша, открой на
редактирование еще один новый файл -
и нареки имя ему w.txt. Закокококо..
кхм-кхм.. закопируй туда то же самое,
но только в этот раз да вразумит тебя
святой Пингвин, покровитель всех
программеров, соблюсти кодировку при
значении Win (рубильник F8 на твоем
распределительном щитке) - да
установи оное значение ДО
копирования, противу сказать опосля..
И етути двое фалОв да будут отныне
для тя тестовыми, ако в транслейшне -
попробовательными..
А о сатнинском Word'е - и думать
забудь, и трогать его не смей, и
выброси его в геенну огненную, и -
самое главное - НИКОГДА НЕ смотри в
нутро поганое файла того, что создала
ты в нем (переключатель F3 (просмотр
файла в Фаре) и не трогай даже! ну,
если тронешь - ну, сходи руки помой

Тут есть один перенос, подпавший под правило №1 (слово "извиняюсь") , и он выполнен. Если задать длину строки 39, то переноса получается аж два! Тут, конечно, есть ошибки, если заметишь - скажи. Это же еще не релиз.. smile.gif
А что она выдает тебе?.. blink.gif

> А можно попроще для меня сказать еще раз?
Фу, я в своем репертуаре... каким-то образом выпустил главное.. извинишь? smile.gif Вот как надо:
  VowDOS:srting='АаЕеЁёИиОоУуЫыЭэЮюЯя';
ConDOS:srting='БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧч';
IShDOS:srting='Йй';
SHzDOS:srting='ЪъЬь';

Давай, плыви дальше smile.gif


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


Новичок
*

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

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


В общем-то ничего и не выдает smile.gif)) ( может быть я не туда смотрю конечно: надо в сам файл чтоли заглядывать потом? unsure.gif )
Вот смотри что пишет:
Цитата
Program c:\document and setting\fomin\desctop\cool\marinochka.exe
exited with
exitcode = 2

nea.gif
Где тогда результат смотреть??? rolleyes.gif
Цитата
>А можно попроще для меня сказать еще раз?
Фу, я в своем репертуаре... каким-то образом выпустил главное.. извинишь? Вот как надо:


VowDOS:srting='АаЕеЁёИиОоУуЫыЭэЮюЯя';
ConDOS:srting='БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧч';
IShDOS:srting='Йй';
SHzDOS:srting='ЪъЬь';

Спасибки give_rose.gif

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


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

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

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


> В общем-то ничего и не выдает smile.gif))
> ...
> Вот смотри что пишет:
> exitcode = 2
И это нынче называется "ничего не выдает"?.. Подруга подводоплавающая, это как раз и есть самая главная выдача! И значит она, что файл не найден.. Ты какой файл вводишь по запросу? мы, кажется, договорились на имена d.txt и w.txt. Пока прога работает только с досовской кодировкой, так что давай ей d.txt. И он должен быть в этой директории.. Ясно? smile.gif


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


Новичок
*

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

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


Теперь вообще FPC другую штуку пишет (типа ошибки, наверное, в новом окошке внизу) unsure.gif
А TP выдает ошибку №3 перед типом String, в штуке которую мы изменили.
nea.gif

Цитата(Lapp @ 11.12.2006 14:01) *

> В общем-то ничего и не выдает smile.gif))
> ...
> Вот смотри что пишет:
> exitcode = 2
И это нынче называется "ничего не выдает"?.. Подруга подводоплавающая, это как раз и есть самая главная выдача! И значит она, что файл не найден.. Ты какой файл вводишь по запросу? мы, кажется, договорились на имена d.txt и w.txt. Пока прога работает только с досовской кодировкой, так что давай ей d.txt. И он должен быть в этой директории.. Ясно? smile.gif

Ну я вводила d.txt точно smile.gif))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Гость






Цитата
А TP выдает ошибку №3 перед типом String, в штуке которую мы изменили.


sTRing попробуй набрать, вместо того, что сейчас ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #31


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

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

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


Цитата(Алена @ 11.12.2006 15:06) *

sTRing попробуй набрать, вместо того, что сейчас ...

Спасибо, Алена smile.gif
Gold_Fish, еще раз извини.. sad.gif


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


Новичок
*

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

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


УРА!!! Заработало lol.gif
Там просто вместо string было srting написано, а я не проверила ...
Воть, честенько я невнимательностью страдаю к сожалению wacko.gif
Спасибки Алена smile.gif
Lapp, хватит уже извиняться-то smile.gif)) если бы не ты мне бы ноль в скором будущем поставили наверное smile.gif Поэтому спасибки большое give_rose.gif

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


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

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

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


Цитата(Gold_Fish @ 11.12.2006 15:04) *

Ну я вводила d.txt точно smile.gif))

Против сверхъестественных явлений я пас.. Ошибка однозначная - файл не найден. Ищи.


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


Новичок
*

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

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


Цитата(Lapp @ 11.12.2006 14:13) *

Против сверхъестественных явлений я пас.. Ошибка однозначная - файл не найден. Ищи.

Теперь уже TP работает smile.gif , а FPC прежнюю штучку пишет unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #35


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

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

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


Цитата(Gold_Fish @ 11.12.2006 15:15) *

Теперь уже TP работает smile.gif , а FPC прежнюю штучку пишет unsure.gif

Что ТР работает - это хорошо, но хотелось бы узнать, что за штучка.. Она при компиляции или при работе? Если при компиляции, то пойди в Options - Compiler - Code Generation и проставь там Turbo Pascal Compatible. И вообще, постарайся быть поконкретнее в сообщениях об ошибках.. иначе мы уйму времени потратим впустую.

В любом случае можешь продолжать в ТР. Вернись к мессаджу 21 и продолжай в духе того, что там написано.


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


Новичок
*

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

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


Цитата(Lapp @ 11.12.2006 14:26) *

Что ТР работает - это хорошо, но хотелось бы узнать, что за штучка.. Она при компиляции или при работе? Если при компиляции, то пойди в Options - Compiler - Code Generation и проставь там Turbo Pascal Compatible. И вообще, постарайся быть поконкретнее в сообщениях об ошибках.. иначе мы уйму времени потратим впустую.

В любом случае можешь продолжать в ТР. Вернись к мессаджу 21 и продолжай в духе того, что там написано.


Штучку прежнюю, где
Цитата
exited with
exitcode = 2

написано. unsure.gif
Попробую продолжить в духе мессаджа #21 smile.gif Не думаю, конечно, что получится, но надо попробовать rolleyes.gif

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


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

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

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


> Штучку прежнюю, где
> exited with
> exitcode = 2
> написано. unsure.gif
Файл лежит в той же директории и не читается?.. чудеса..


> Попробую продолжить в духе мессаджа #21 smile.gif
> Не думаю, конечно, что получится, но надо попробовать rolleyes.gif
Обязательно надо smile.gif. Кроме шуток smile.gif

Заметил еще одну квазиошибку в том своем тексте..
Закомментируй, плз, строчки:
  Assign(fOu,'tst-ou-w.txt');
ReWrite(fOu);

Ну, давай. Девиз всех Рыбок: плавать в море, чтоб не плавать на зачете! smile.gif


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


Новичок
*

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

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


Цитата(Lapp @ 11.12.2006 14:55) *

Заметил еще одну квазиошибку в том своем тексте..
Закомментируй, плз, строчки:
  Assign(fOu,'tst-ou-w.txt');
ReWrite(fOu);


Что сделать? unsure.gif
> Ну, давай. Девиз всех Рыбок: плавать в море, чтоб не плавать на зачете! smile.gif
Спасибки smile.gif))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #39


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

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

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


Цитата(Gold_Fish @ 11.12.2006 16:01) *

Что сделать? unsure.gif

Заключить в фигурные скобки smile.gif))))))))


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


Новичок
*

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

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


Цитата(Lapp @ 11.12.2006 15:05) *

Заключить в фигурные скобки smile.gif))))))))

Ну не надо смеятся, я же не такая умная как Вы, дорогой друг Lapp, и не знала что это такое rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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