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

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

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

> Текст, порубить на 40-символьные строки
сообщение
Сообщение #1


Новичок
*

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

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


Помогите решить задачку!
Дано: текст на русском языке.
Задане: переформатировать текст так, чтобы длина любой строки не превосходила 40 символов.(Выравнивать по правому краю не требуется).
Спасибо заранее!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


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


Гость






Цитата(_JC_ @ 13.10.2005 15:01)
как сделать чтобы он переносил не на серидине слова а его целиком если оно не влазит в строку??? huh.gif

Вот так:
uses crt;

const
maxLen = 40;
delimit = [' ', '.', ','];
var
s, T: string;
ch: char;

begin
s := '';
repeat
ch := readkey;
case ch of
#0 : readkey;
#27: ; { ничего не делать ... }
else begin

write(ch);
s := s + ch;

if length(s) = maxLen then begin

T := '';
while not (s[length(s)] in delimit) do begin
T := s[length(s)] + T;
delete(s, length(s), 1);
gotoxy(wherex - 1, wherey); clreol;
end;
s := T;
writeln;
write(s);

end;
end;
end;
until ch = #27;
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
_JC_   Текст   13.10.2005 17:45
volvo   _JC_, поиском пользоваться когда-нибудь будем? :a…   13.10.2005 18:24
Shura   Думаю, можно сделать так: Открываем исходный файл …   13.10.2005 18:27
_JC_   Спасибо большое прости что не воспользовался поиск…   13.10.2005 19:09
klem4   объяви s : string, больше сорока ты в нее не запиш…   13.10.2005 19:23
volvo   klem4, а проверять на нажатие "расширенной…   13.10.2005 19:45
klem4   исправил вроде :unsure:   13.10.2005 19:54
_JC_   А почему каждый символ воспринимается только со 2-…   13.10.2005 20:01
klem4   не заню, у меня воспринимает с первого нажатия н…   13.10.2005 20:06
volvo   Вот так: uses crt; const maxLen = 40; delimi…   13.10.2005 21:10
_JC_   Volvo мщжет ты мне подскажешькак мне сделать эту з…   13.10.2005 20:07
klem4   и как ты себе это представляешь при твоей постан…   13.10.2005 20:09
_JC_   Да вероятно ты прав извини!   13.10.2005 20:35
_JC_   Извиняюсь за то что беспокою, но этот Му.....ЖИК с…   15.10.2005 2:22
volvo   _JC_, приводим задачу к уже решенной :D : uses cr…   15.10.2005 2:34


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

 





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