Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Разбить текст на строки

Автор: murphy 4.01.2005 0:26

Момогите.
Задача такая:
Разбить текст на строки не более 20 символов, перенос осуществлять на месте пробела

З.Ы. Текст массив строк
Это не для меня (меня попросили)

Автор: volvo 4.01.2005 0:34

murphy
Результат вернуть в каком виде? Тоже массив строк? Или достаточно вывести на экран?

Автор: murphy 4.01.2005 1:19

как я понял достаточно вывести на экран
но надо использовать ф-ции над сроками из модуля system

Автор: volvo 4.01.2005 2:03

Что-то типа вот этого:

Код
const
 n = 3;
 txt: array[1 .. n] of string =
   ('start start start finish start finish start finish start finish start',
    'start start start finish start finish start finish start finish start',
    'start start start finish start finish start finish3 start3 finish4 start4');

var
 s: string;
 i, curr, prev: integer;
begin
 s := '';
 for i := 1 to n do
   begin
     curr := 1;
     s := s + txt[i];
     while true do
       begin
         prev := curr;
         curr := prev + pos(#32, copy(s, curr, 255));
         if curr = prev then break
         else
           if curr > 20 then
             begin
               curr := prev;
               writeln(copy(s, 1, pred(curr)));
               delete(s, 1, pred(curr)); curr := 1
             end
       end;
     s := s + ' '
   end;
 writeln(s)
end.