Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 30.12.2009
Сообщений: 4
1

Отформатировать текст и записать его в новый файл так, чтобы все строки имели одинаковую длину, равную длине самой длинной строки.

31.12.2009, 18:59. Показов 4397. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте!!поможете с написанием программы?
Дан текстовый файл, содержащий строки произвольной длины.
Отформатировать текст и записать его в новый файл так, чтобы все строки
имели одинаковую длину, равную длине самой длинной строки.
Форматирование выполняется добавлением пробелов между словами.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.12.2009, 18:59
Ответы с готовыми решениями:

Отредактировать текст так, чтобы все строки, кроме последней, имели фиксированную длину
Задание: Дан файл *.txt с произвольным текстом объемом не менее 1000 символов. Отредактировать...

Преобразовать файл, чтобы все строки имели длину, не превышающую длину наименьшей
Здравствуйте! Помогите с алгоритмом задачи: Дан текстовый файл. Преобразовать его таким образом,...

Переделать функцию поиска самой длинной строки так, чтобы она правильно печатала размер произвольно длинной входной строки и воспроизводила ее
Переделать головную функцию поиска самой длинной строки так, чтобы она правильно печатала ...

В текстовом файле найти длину самой длинной строки, и вывести на экран все строки данной длины
В данном текстовом файле найти длину самой длинной строки и вывести на экран все строки данной...

5
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
01.01.2010, 16:38 2
какие были разделители ранее? (между словами)
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
02.01.2010, 08:33 3
Это раздел про алгоритмы

Целых два способа.
Способ 1.
Прочитать файл, определить длину наибольшей строки.
Потом еще раз читаем файл, обрабатываем по-строчно, результат записываем в файл.
Способ 2.
Читаем файл в память.
Ищем длину наибольшей строки.
Далее перебираем все строки в памяти, и все как раньше.
0
1 / 1 / 0
Регистрация: 30.12.2009
Сообщений: 4
02.01.2010, 22:28  [ТС] 4
разделители были пробелы,задание заключается в том чтобы добавить нужное количество пробелов в строчку,пока длина строки не станет равна максимальной длине.
Ребят,а кто нибудь сможет написать,как это будет выглядеть в паскале?)))))))
ну просто ооооочень нужно((((((((
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
03.01.2010, 12:59 5
Не забудьте создать файл, лучше в папке с программой. Что-бы форматирование по ширине смотрелось красиво, установите в блокноте моноширный шрифт, например Courier New.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
uses crt;
var f,g:text;
    m,k,i,v:byte;
    namef,nameg,s:string;
begin
clrscr;
write('Введите имя файла для изменений:  ');
readln(namef);
namef:=namef+'.txt';
assign(f,namef);
{$I-}//проверим файл на существование, попробуем его открыть для чтения
reset(f);
{$I+}
if IOResult<>0 then//если нет
 begin
  writeln('Файл с именем ',namef,' не найден.');
  writeln('Работа программы завершена. Нажмите Enter.');
  readln;
  halt;
 end;
write('Введите имя файла для записи:  ');
readln(nameg);
nameg:=nameg+'.txt';
assign(g,nameg);//создаем файл для записи
rewrite(g);
m:=0;//максимальная длина строки
while not eof(f) do//пока не конец файла
 begin
  readln(f,s);//читаем строки
  if length(s)>m then m:=length(s);//если длина больше макс., это макс.
 end;
close(f);//закроем файл
reset(f);//снова откроем
while not eof(f) do
 begin
  readln(f,s);
  k:=m-length(s);//определяем сколько пробелов добавить
  if k>0 then
   begin
    v:=0;//считаем вставляемые пробелы
    repeat//во внешнем цикле
     for i:=length(s) downto 1 do//крутим внутренний цикл от конца строки к началу
     if (s[i]=' ')and(s[i-1]<>' ') then//перед первым пробелом перед каждым словом
      begin
       insert(' ',s,i);/ добавляем 1 пробел/
       v:=v+1;//считаем
       if v=k then break;//если болше не нужно, прерываем цикл
      end;
    until v=k;//если все вставили, прерываем внешний цикл
   end;
  writeln(g,s);//записываем новую строку во второй файл
 end;
close(f);//закрываем оба файла
close(g);
write('Файл переписан!');
readln
end.
Вчера писал эту программу кому-то, смотрите чтоб не из одной группы оказались. Переделайте как-то.
0
1 / 1 / 0
Регистрация: 30.12.2009
Сообщений: 4
03.01.2010, 16:04  [ТС] 6
спасибо большое)))))
вы меня просто спасли))
1
03.01.2010, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2010, 16:04
Помогаю со студенческими работами здесь

Дан файл, содержащий строки. Если третья строка не является самой длинной или самой короткой, то скопировать в новый
Я сделал половину, но здесь почему то max и min он выводит нули, следовательно он не может считать...

Вывести в файл длину самой длинной строки исходного
дан файл f. напечатать в файл g длину самой длинной строки.

дан файл f. напечатать в файл g длину самой длинной строки
дан файл f. напечатать в файл g длину самой длинной строки.

Дополнить строки знаками "+", чтобы все строки в нем имели длину 80 символов
В текстовом файле f1 длина каждой строки не более 80 символов. Сформировать файл f2 таким образом,...

Переписать данные в новый файл, дополняя справа все его строки, меньшие по длине 80 символов
Решите пожалуйста! Дан текстовый файл. Переписать его содержимое в другой текстовый файл,...

Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину
Товарищи, простите что обращаюсь. Кому не сложно, помогите (решите) хоть сколько нибудь из этих 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru