Программа


{ Исключение из файла строк 
  минимальной длины 
  и нумерация оставшихся }
PROGRAM Filter;
VAR MinLength:byte;                         { Минимальная длина строки }
    InputFile,OutputFile:text;              { Входной и выходной файлы }
    InputFileName,OutputFileName:string[79];
                                         { Имена входного и выходного файлов }
PROCEDURE GetMinLength(var MinLength:byte;var F:text);
                            { Процедура определения минимальной длины строки }
  Var Str:String;           { Строковый буфер }
  Begin
    MinLength:=255;   { Начальное определение минимальной длины строки }
    Reset(F); { Открытие файла }
    while not EOF(F) do
      begin
        ReadLn(F,Str); { Чтение строки из файла }
        if Length(Str)<MinLength then MinLength:=Length(Str)
                                  { Переопределение минимальной длины строки }
      end;
    Close(F) { Закрытие фала }
  End;
PROCEDURE FileFilter(var F1,F2:text;LengthStr:byte);
                                                { Процедура обработки файлов }
  Var Str:String;                               { Строковый буфер }
      MeterString:word;                         { Счетчик строк }
  Begin
    MeterString:=0;     { Начальное определение счетчика строк }
    { Открытие файлов: }
    Reset(F1);
    Rewrite(F2);
    while not EOF(F1) do
      begin
        ReadLn(F1,Str);  { Чтение строки из файла }
        if Length(Str)<>LengthStr then
          begin { Если длина строки отличается от искомой , то }
            Inc(MeterString);                    { Подсчет числа строк }
            WriteLn(F2,'[',MeterString,'] ',Str) { Вывод строки }
          end
      end;
    { Закрытие фалов: }
    Close(F1);
    Close(F2)
  End;
BEGIN
  { Ввод имен файлов: }
  Write('Введите имя входного файла ');
  ReadLn(InputFileName);
  Write('Введите имя выходного файла ');
  ReadLn(OutputFileName);
  { Связывание имен файлов с файловыми переменными: }
  Assign(InputFile,InputFileName);
  Assign(OutputFile,OutputFileName);
  GetMinLength(MinLength,InputFile);  { Определение минимальной длины строки }
  FileFilter(InputFile,OutputFile,MinLength);              { Обработка файла }
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию