Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.11.2009
Сообщений: 17

Отформатировать текст так чтоб все строки были по 80 символов

16.01.2010, 21:33. Показов 1712. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текстовый файл и в нем есть текст, нужно отформатировать текст так чтоб все строки были по 80 символов, слова переносились в следующую строку целиком, текст должен считыватся построчно, тоесть сам текст > 255 символов.

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

Вот код модуля :
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
unit format1;                                               {модуль форматирования}
 
Interface
 
procedure readf(var f,outf:Text);           {процедура считывания}
 
Implementation
 
procedure formt(s:string; n:integer; var outf:Text);    {процедура форматирования}
var i,l,k,t,j,u:integer;
begin
    l:=length(s);
    if(l>=80) then writeln(outf,s)
    else
    begin
       k:=80-l;
       if n=0 then t:=0
       else t:=k div n +1;
       for i:=1 to l do
       begin
          write(outf,s[i]);
          if(s[i]=' ') then
          begin
              if(t<k) then u:=t
              else u:=k;
              for j:=1 to u do write(outf,' ');
              k:=k-t;
          end;
       end;
       writeln(outf);
    end;
end;
 
procedure writef(var s:OpenString;fl:integer;var outf:Text);    {процедура записи}
 
var l,i,l1,n:integer;
    s1:string;
begin
   l:=Length(s);
   if(l=0) then exit;
   n:=0;
   l1:=0;
   if(l<80) and (fl=0) then exit;
   if(l=80) then
   begin
       writeln(outf,s);
       delete(s,1,l);
       exit;
   end;
   for i:=1 to l do
   begin
       if(s[i]=' ') then
       begin
          n:=n+1;
          if(i<82) or (l1=0) then l1:=i;
          if(i>80) then break;
       end;
   end;
   n:=n-1;
   if(l<80) then
   begin
     l1:=l;
     n:=n+1;
     s1:=copy(s,1,l1);
     delete(s,1,l1);
   end
   else
   begin
     s1:=copy(s,1,l1-1);
     delete(s,1,l1);
   end;
   formt(s1,n,outf);
   if(fl=1) then writef(s,1,outf);
end;
 
procedure readf(var f,outf:Text);       {процедура считывания}
var   s1,s2:string;
      i:integer;
begin
      readln(f,s1);
      writef(s1,0,outf);
      while(not eof(f)) do
      begin
        readln(f,s2);
        s1:=concat(s1,' ',s2);
        writef(s1,0,outf);
      end;
      writef(s1,1,outf);
end;
 
begin
end.
Код самой программы :
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program formt;
uses FORMAT1;                    
var f,outf:Text;
 
begin
     Assign(f,'input.txt');               
     Reset(f);
     Assign(outf,'output.txt');     
     Rewrite(outf);
     readf(f,outf);              
     Close(f);
     Close(outf);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2010, 21:33
Ответы с готовыми решениями:

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

Файл: Перезаписать содержание файла так, чтобы все строки были по 20 символов
Создать текстовый файл f, состоящий из 2-3 строк текста произвольной длины. Перезаписать содержание файла f в файл h, так, чтобы в файле h...

файле h все строки были по 20 символов
как так сохранить текстовый файл, чтобы в файле h все строки были по 20 символов (кроме последней) и в начале каждой строки стоял ее номер....

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.01.2010, 10:19
Цитата Сообщение от Osik Посмотреть сообщение
текст должен считыватся построчно, тоесть сам текст > 255 символов.
Помогите пожалуйста ее решить или хотя бы исправьте в исходном коде чтоб можно было вводить текст больше 255 символов
Имеется ввиду, что в исходном файле весь текст длиной более 255 символов, то есть там точно не одна строка, и все.
Создайте исходный файл в несколько строк, чтобы некоторые были больше 80 символов, некоторые меньше и тренируйтесь. Куда Вам нужно вводить текст больше 255 символов?
0
0 / 0 / 0
Регистрация: 20.11.2009
Сообщений: 17
17.01.2010, 15:48  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Имеется ввиду, что в исходном файле весь текст длиной более 255 символов, то есть там точно не одна строка, и все.
Создайте исходный файл в несколько строк, чтобы некоторые были больше 80 символов, некоторые меньше и тренируйтесь. Куда Вам нужно вводить текст больше 255 символов?
Его не нужно вводить он уже есть в начальном текстовом файле, мне нужно его считывать и форматировать построчно, вот только я не могу это реализовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2010, 15:48
Помогаю со студенческими работами здесь

Преобразовать файл так, чтобы все строки Были отцентрированы
Считаем, что длинна строк текстового файла не превышает 80 символов. Преобразовать файл так, чтобы все строки Были...

Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по краю
Дано целое число N и текстовый файл Name1, содержащий текст, выровненный по левому краю. Абзацы текста отделяются друг от друга одной...

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

Считать текст из файла и записать в другой файл так чтоб каждое слово было с новой строки
Не могу разобраться как считывать и записывать по одному слову.Помогите пож.

Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по левому краю, сохранив деление на абзацы.
Дано целое число N и текстовый файл Name1, содержащий текст, выровненный по левому краю. Абзацы текста отделяются друг от друга одной...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru