Обработка файла, нужно отформатировать текст по ширине |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Обработка файла, нужно отформатировать текст по ширине |
Jaxx |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Добрый день.
Программированием начал заниматься недавно (причем по учебе). учусь в универе на программиста, и мне нужно написать курсовую на Паскале. А у меня ничего не получается, так что, если Вам не тяжело, то помогите чем сможете - мне всего 1 прогу нужно накатать. Задание такое: Разработать программу "Выравнивание". Исходная информация: текст, записанный в текстовом файле. Программа выводит этот текст с выравниванием по краям. Тескт выводится без переносов слов. Параметры абзаца задаются в диалоговом режиме. Заранее очень благодарен ! -------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
Altair |
Сообщение
#2
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Код Program FORMAT_TEXT; Uses CRT,GRAPH; Var FileName:string; F:file of byte; LG,PG:byte; slovo,s:string; c,i:byte; {----------} Procedure _LG(o:byte); {Їа®жҐ¤га ¤Ґ« Ґв ®вбвгЇ} var m:byte; begin for m:=1 to o do write(' ') end; {----------} {Ћб®ў п Їа®Ја ¬¬ } Begin repeat ClrScr; Writeln('‚ўҐ¤ЁвҐ Ё¬п ®Ўа Ў влў Ґ¬®Ј® д ©« '); Readln(FileName); Write('ЋвбвгЇ б«Ґў ='); readln(LG); Write('¤«Ё ўлў®¤Ё¬®© бва®ЄЁ='); readln(PG); ClrScr; Assign(F,FileName); {$I-} Reset(F); {$I+} Until IOResult=0; While Not EOF(F) do begin read(F,c); If (C<>10) and (C<>13) then begin If C<>32 then slovo:=slovo+CHR(C); If C=32 then begin If ORD(s[0])+ORD(slovo[0])+1<=PG then begin If ORD(S[0])<>0 then s:=s+' '+slovo; If ORD(S[0])=0 then s:=s+slovo end; IF ORD(s[0])=pg then begin {!}_LG(LG); writeln(s); s:=''; s:=s+slovo end; If ORD(s[0])+ORD(slovo[0])>PG then begin {!}_LG(LG); writeln(s); S:=''; s:=s+slovo end; slovo:=''; end end end; {While not eof(F)} _LG(LG); Writeln(slovo); end. Занчит так, все работает, только еще не сделал дополнения пробелами. Но теперь прога не разрывает слова, и все ОК. Есть у кого идеи как красиво увеличить длинну строки, вставив в нее пробелы? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Текстовая версия | 4.05.2024 13:38 |