Другие языки программирования и технологии

Пожалуйста, помогите с задачкой на Delphi

Делала лабораторные работы по программированию и наткнулась на эту задачу. Вроде не трудная, но не получается накодить никак. И так и сяк пробовала. В интернете решения нет ( Помогите, если не затруднит.

В текст, содержащий меньше 50 символов, равномерно вставить пробелы между словами, чтобы его длина составляла ровно 50 символов.
Совсем равномерно не получится, ибо слов может быть шесть, а вставить нужно будет 7 пробелов.
Т. е. получается, что 2 пробела должны быть сдвоенными, а 3 одинарными.

Алгоритм очень прост:
— посчитать количество разрывов в строке и удалить их, сохранив позиции начала слова в массив (пусть их количество разрывов CountBreacs )
— получить общее количество добавляемых пробелов CountSpace = CountChars – LengthString (длина строки уже без пробелов)
— теперь начиная с последней позиции в массиве будем добавлять пробелы в количестве
InsertSpace = Trunc(CountSpace div CountBreak) — целое от деления оставшихся разрывов на номер разрыва
с каждым разом уменьшая CountSpace = CountSpace – InsertSpace
и (конечно же) CountBreak = CountBreak – 1

К примеру:
~~~~~~~~~~~~~~~~~
Дана фраза: "Эта_задача_решаема". Добавить пробелов до длины строки в 21 символ.
Удаляем пробелы и запоминаем позиции: "Этазадачарешаема" (4,10)
Длина полученной строки 16. Т. е. нужно добавить 21–16=5 пробелов.
Добавляем в позицию 10 два пробела ( 5 div 2 = 2 ): "Этазадача__решаема"
Остаётся 5–2=3 — добавляем в поз. 4 три пробела ( 3 div 1 = 3 ): "Эта___задача__решаема"
Готово!
(использовал „_“, вместо пробелов для наглядности)
АГ
Александр Гайсин
75 287
Лучший ответ
В цикле прогоняй строку, если найдешь пробел - добавляешь и дальше до конца строки. каждый раз проверяй весь текст на длину. И так делай пока весь текст не станет 50 символов.