Программа
{ Исключение из файла строк
минимальной длины
и нумерация оставшихся }
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.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию