Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2010, 21:57   #1
Михаил Козлов
Новичок
Джуниор
 
Регистрация: 06.03.2010
Сообщений: 1
По умолчанию Программа на Pascal

Помогите с задачей. Очень срочно нужно.

Текст задачи:
Дан произвольный текстовый файл в кодировке 1251, состоящий из ограниченного числа строк с максимальной длиной строки 80 символов (например, файл, содержащий небольшой рассказ или статью). Выровнять все строки этого файла по центру за счёт изменения количества пробелов до, после и между словами каждой строки. Расстояние между словами должно быть одинаковым и составлять один пробел. Расстояние от центра строки до крайней левой буквы крайнего левого слова строки должно совпадать или быть на единицу больше расстояния от центра строки до крайней правой буквы крайнего правого слова строки. Для разделения строки на слова использовать символ разделения – пробел. Установить длину строки результирующего файла равной 80 символам за счёт дополнения её пробелами. При обработке пустых строк заменять их строками длиной 80 символов, целиком состоящими из пробелов. Рекомендуется хранить в оперативной памяти не более одной строки исходного файла.

Во входном файле Input.txt находится текст в кодировке 1251, предназначенный для форматирования. Длина каждой строки – не более 80 символов, общее количество строк в файле от 1 до 200.

В выходной файл Output.txt вывести требуемый текст после осуществления форматирования в кодировке 1251. Количество строк выходного файла должно совпадать с количеством строк входного файла.

Последний раз редактировалось Михаил Козлов; 06.03.2010 в 21:58. Причина: некорректно
Михаил Козлов вне форума Ответить с цитированием
Старый 06.03.2010, 22:33   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
while not eof(OldF) do begin
  readln(OldF, s);//читаем Input.txt
  while pos('  '{два пробела}, s) > 0 do
    delete(s, pos('  '{два пробела}, s), 1);//удаляем лишние пробелы между словами
  while s[1] = ' ' do delete(s, 1, 1);//удаляем лишнии пробелы в начале
  while s[length(s)] = ' ' do delete(s, length(s), 1);//и в конце
  k := 80 - length(s);//считаем сколько пробелов добавить
  for i := 1 to k div 2 do s := s +' ';//половину добавим в конец
  for i := k div 2 + 1 to k do s := ' ' + s;//и половину в начало
  writeln(NewF, s)//запишем получившуюся строчку в Output.txt
end;
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Pascal Cayce Фриланс 5 21.01.2010 20:13
Программа в Pascal Rawwwrr! Помощь студентам 2 14.01.2010 13:58
Программа на pascal xRJ10 Помощь студентам 3 23.12.2009 16:54
[PASCAL]Программа создания файла, программа обработки файла Виколяшка Фриланс 7 23.09.2009 17:38
Программа создания файла, программа обработки файла [PASCAL] Виколяшка Помощь студентам 1 22.09.2009 22:56