Здравствуйте
Помогите, пожалуйста, с задачей.
Даны два файла, содержащие строки. Файл f1 являтся проверяемым, файл
f2 по имени "filtr"- проверяющий тестер.
Если строка файла f2 является подстрокой какой-нибудь строки файла f1
то эту строку файла f1 надо переписать в новый файл f4. Строки файла f1,
не содержащие в качестве подстрок строки из файла f2, переписываются
в новый файл f3. {Если в f1 и в f2(filtr) есть одинаковые строки, то эти
строки переписываются из f1 в f3. Если в f2(filtr) есть строки, имеющие
одинаковые подстроки со строками файла f1, но при этом количество слов в
строке файла f2(filtr) больше количества слов в сравниваемой строке
файла f1, то программа никаких действий не производит.} Написанное
между { и } является подробностью предшествуюших двух предложений.
Строки состоят из слов (буквы, числа, символы), разделенных одним или
более пробелами, в начале и конце строк отсутствие пробелов, или один
пробел или более. Проверяются только слова и их порядок.
Задачу выполнить на Паскале.
Вот моя попытка:
|
Код:
|
var f1, f2, otb, ost : text;
c : array[1..s1] of string;
s, s1 : string;
n : Integer;
begin
Assign(f1, 'RES.txt'); Reset(f1);
Assign(otb, 'OT6.txt'); ReWrite(otb);
Assign(ost, 'OCT.txt'); ReWrite(ost);
while not Eof(f1) do
begin
ReadLn(f1, s);
if pos(s1[n], s) > 0 then WriteLn(otb, s) else WriteLn(ost, s);
end;
repeat
ReadLn(f1, s);
Assign(f2, 'filtr.txt'); Reset(f2);
repeat
ReadLn(f2, s1);
until(EoF(f2));
Close(f2);
until(EoF(f1));
Close(f1); Close(otb); Close(ost);
end. |