Страница 1 из 1

Паскаль. Выравнивание текста по заданной длине

Добавлено: 25 май 2008, 22:56
Mitia
Помогите, если сможите. Есть прога, более-менее работающая для одной строки, а для 2 уже не работает.
вот задача: дан текстовый файл с несколькими строкими длинной не более 65 символов, необходимо написать программу, которая выравнивает строки до 65 символов, путем добавления поочередно пробелов между строками( не в одно место, а симметрично по строке), и сохранить полученный результат в новый текстовый результат.
Очень прошу помочь, сроки поджимают. Заранее благодарен

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 08:08
BHy4ok
Визуально пример можешь привести ?

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 09:21
Mitia
Вот как должно получится.

Исходник:

какой-то любой текст
из нескольких строк

Результат:

какой-то...............................любой..................................текст
из.............................нескольких......................................строк


Вот так. Длину не считал, только наглядно сделал + последнее слово обязательно должно уйти в правый край( как на примере). На месте точек должны быть пробелы.

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 09:38
BHy4ok
65 символов это:
1+2+3...n = 65(символов) строки ?
или же:
1 = 65(символов)
2 = 65
.....

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 09:39
Mitia
Не понял вопроса =)

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 09:51
BHy4ok
У тебя в каждой строке не более 65 символов и ты работаешь с каждой строкой по отдельноси ?
Или со всех строк у тебя должно быть(в сумме) не более 65 символов и ты работаешь с ними как с одним текстом?

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 09:54
Mitia
в каждой не более 65, и работаю с каждой в отдельности, в этом самая трудность, покрайней мере для меня.

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 11:11
Хыиуду
Тогда:
Пока длина строки<65:
формируем подстроку, состоящую из одного пробела
находим очередное вхождение этой подстроки в строку, причем такое, чтобы слева и справа от этого вхождения были непробельные символы
Заменяем эту подстроку в строке на нее же+1 пробел.
Если вхождений подстроки в строку уже нет - добавляем к подстроке 1 пробел.

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 26 май 2008, 18:43
Mitia
Хыиуду писал(а):Тогда:
Пока длина строки<65:
формируем подстроку, состоящую из одного пробела
находим очередное вхождение этой подстроки в строку, причем такое, чтобы слева и справа от этого вхождения были непробельные символы
Заменяем эту подстроку в строке на нее же+1 пробел.
Если вхождений подстроки в строку уже нет - добавляем к подстроке 1 пробел.

а в виде кода можно? =)))

Re: Паскаль. Выравнивание текста по заданной длине

Добавлено: 27 май 2008, 11:34
Хыиуду
В виде псевдокода можно ;) см. выше. В виде кода - лениво. Чтобы не лениво было - за деньги. В этой задаче уровень геморроя немного превышает уровень моего альтруизма ;) Либо подождите, пока в эту тему не придет кто-нибудь, более предрасположенный к работе нахаляву, здесь такие добрые самаритяне есть.