Помощь - Поиск - Пользователи - Календарь
Полная версия: форматирование текста пробелами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
blackhard
помогите сделать задание.исходная информация:текст на русском языке и значение длинны отформатированной строки.
задание: переформатировать текст так чтобы длинна любой строки была равна заданной величине.
Выравнять текст по правому краю равномерным увеличением длины пробелов.(длины каждых 2х пробелов между словами не должны отличаться больше чем на единицу.помогите нужно как можно быстрее.зарание спасибо
compiler
Цитата(blackhard @ 27.10.2007 19:11) *
помогите сделать задание.исходная информация:текст на русском языке и значение длинны отформатированной строки.
задание: переформатировать текст так чтобы длинна любой строки была равна заданной величине.
Выравнять текст по правому краю равномерным увеличением длины пробелов.(длины каждых 2х пробелов между словами не должны отличаться больше чем на единицу.помогите нужно как можно быстрее.зарание спасибо
по первому заданию

подобная задаха была в прошлом году была на городской олимпиаде Харькова, но там я так и не получил ответа что делать если длина слова больше необходимой длинны строки



а вообще, проходишь циклом по начальному тексту и добавляешь слова(слова отделяются пробелами)) к строке если (строка + слово <= необходимая длина) в противном случае
1 дополняешь строку пробелами, если необходимо (тут надо подумать как лучше сделать)
2 вставляешь перед этим словом разрыв строк и форматируешь текст дальше



по второму заданию

можна представить наш текст как матрицу (лучше динамическую) количество пробелов/указатель и отсортировать матрицу

ну а потом это все распечатать...
blackhard
Цитата(compiler @ 27.10.2007 20:33) *

по первому заданию

подобная задаха была в прошлом году была на городской олимпиаде Харькова, но там я так и не получил ответа что делать если длина слова больше необходимой длинны строки



а вообще, проходишь циклом по начальному тексту и добавляешь слова(слова отделяются пробелами)) к строке если (строка + слово <= необходимая длина) в противном случае
1 дополняешь строку пробелами, если необходимо (тут надо подумать как лучше сделать)
2 вставляешь перед этим словом разрыв строк и форматируешь текст дальше



по второму заданию

можна представить наш текст как матрицу (лучше динамическую) количество пробелов/указатель и отсортировать матрицу

ну а потом это все распечатать...

у меня возникли следующие вопросы 1 как вставить разрыв строки и какой цикл для всего этого лучше использовать 2 как представить наш текст как матрицу (лучше динамическую) количество пробелов/указатель и отсортировать матрицу
compiler
1) я б писал циклом while(не конец файла)

2) текст -- набор строк smile.gif

Lapp
М
Переношу тему в Задачи
В Заказах не должно быть обсуждений!

pascal65536
Аналогичная программа есть в книге
Дагене В.А., Григас Г.К., Аугутис К.Ф., 100 задач по программированию. - М: "Просвещение", 1993г.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.