| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Выравнивание строк разной длины по центру |
| Автор: hapock 2.12.2014, 19:33 | ||||
| Доброго вечера. Есть 3 строки которые расположены по центру экрана, но начинаются с четко заданной позиции (одной и той же по оси Y) Задачка такова, что нужно заполнить определенным количеством пробелов слева, чтобы все строки (учитывая их длину) были по центру. Пример строк:
Т.е. они так и располагаются на экране А нужно сделать чтобы они в зависимости от своей длины выглядели вот так в результате:
На языке С. Спасибо! |
| Автор: baldina 2.12.2014, 20:11 |
| 1. выясняете длины строк (функция strlen), определяете самую длинную 2. для каждой строки 2-1. вычисляете разницу её длины с самой длинной 2-2. эту разницу делите пополам 2-3. дополняете строку слева пробелами числом равным половине разницы. 2-3-1. определяете новый размер строки 2-3-2. создаете новую строку нужного размера (malloc) 2-3-3. записываете в неё нужное число пробелов 2-3-4. копируете в хвост дополняемую строку (strcpy или strcat) если место под строки зарезервировано достаточно для хранения самой длинной, то 2-3-2. не выполнять, работать с исходной строкой, а 2-3-3 и 2-3-4 поменять местами. не будет получаться - пишите, показывая ваш код. |