rendered paste bodyПостановка задачи.
Написать слово, преобразующее входную строку в текст, выровненный по
ширине экрана, таким образом, чтобы каждая новая строка на экране
отделялась от предыдущей символами CRLF (0x0D 0x0A), а промежутки
между словами были заполнены необходимым количеством пробелов,
достаточным для выравнивания правого края строки в одну линию, не
пересекающую позицию p. Разрывать слова на части нельзя - можно
переносить на следующую строку целиком, либо, если слово оказывается
шире требуемой ширины строки, оставлять в строке целиком. Каждый
символ занимает один байт пространства в памяти. Каждый символ,
включая пробельные и знаки препинания, имеет одинаковую ширину при
отображении. Получаемая на входе строка может состоять из
произвольного количества слов, отделенных пробельными символами и
символами переноса на следующую строку. Знаки препинания считаются
частью слов.
\ на входе слово получает строку в виде адрес + длинна
\ и требуемую ширину строк в символах.
\ на выходе должен быть получен адрес области в памяти, хранящей
\ полученный набор строк.
: format-text ( asc # p --> asc # )
;