Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Текстовые файлы


Автор: CaRaMeLca 22.12.2009, 18:36
1) Пусть дан текстовый файл f1. Перепишите его содержимое в файл f2, сохраняя строчную структуру и удаляя пустые строки.

2) Имеется текстовый файл. Добавить в него строку из двенадцати чёрточек (------------), разместив её:
     а) после пятой строки;
     б) после последней из строк, в которых нет пробела.
Если таких строк нет, то новая строка должна быть добавлена после всех строк имеющегося файла. В обоих случаях результат записать в другой файл.

Автор: amsoft 22.12.2009, 19:02
задача №1:
Код

var
MyF1, MyF2: TextFile;
S: string;
...
begin
AssignFile(MyF1,F1);
Reset(MyF1);                   
AssignFile(MyF2,F2);
Rewrite(MyF2);                 
while not EOln(MyF1) do 
      begin
      Readln(MyF1,S);
      If S <> '' then Writeln(MyF2,S);    
      end;
CloseFile(MyF2);                    
CloseFile(MyF1);
end;


Добавлено через 6 минут и 49 секунд
Задача №2-а:
Код

var
MyF1, MyF2: TextFile;
S: string;
X: integer;
...
begin
AssignFile(MyF1,F1);
Reset(MyF1);                   
AssignFile(MyF2,F2);
Rewrite(MyF2);
X := 0;                 
while not EOln(MyF1) do 
      begin
      Readln(MyF1,S);
      Writeln(MyF2,S);    
      Inc(X);
      if X = 5 then Writeln(MyF2,'------------');
      end;
CloseFile(MyF2);                    
CloseFile(MyF1);
end;

Автор: amsoft 22.12.2009, 19:27
Задача №2-б:
Код

var
MyF1, MyF2: TextFile;
S: string;
NeededStr, StrAdded: boolean;
...
begin
AssignFile(MyF1,F1);
Reset(MyF1);                   
AssignFile(MyF2,F2);
Rewrite(MyF2);
NeededStr := False;
StrAdded := False;
while not EOln(MyF1) do 
      begin
      Readln(MyF1,S);
      if not StrAdded
      then begin
           if Pos(' ',S) = 0 
           then NeededStr := True
           else if NeededStr
                then begin
                     Writeln(MyF2,'------------');
                     StrAdded := True;
                     end;
           end;
      Writeln(MyF2,S);
      end;
if not StrAdded then Writeln(MyF2,'------------');
CloseFile(MyF2);                    
CloseFile(MyF1);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)