Напишите программу, которая заменяет одно слово в текстовом файле на другое. Словом называется последовательность непробельных символов, ограниченная пробелами или границами строки. Слово-образец может начинаться как с заглавной, так и со строчной буквы; замена должна быть соответствующая. Если слово-образец совпадает с частью какого-то слова, замена не выполняется. После слова может стоять знак препинания из следующего набора: «.,:;!?». Исходный текст записан в файле input.txt , обработанный текст нужно вывести в файл output.txt .
Входные данные
Первая строка входного файла input.txt содержит слово-образец, во второй строке записано слово-замена. Эти слова содержат только строчные буквы. В следующих строках записан текст для обработки.
Выходные данные
Программа должна вывести обработанный текст в файл output.txt .
Примеры
входные данные
tail
head
Bobtail has a tail.
выходные данные
Bobtail has a head.
Не могу найти ошибку. Заранее спасибо!
var i: integer; inp,out: text; s,s_o,s_z,s_z2,s_o2: string;
begin
assign(inp, 'input.txt');
assign(out, 'output.txt');
rewrite(out);
reset(inp);
readln(inp,s_o);
readln(inp,s_z);
s_o2:=s_o;
insert(' ',s_o,1);
s_o2[1]:=Upcase(s_o2[1]);
s_z2:=s_z;
insert(' ',s_z,1);
while not eof(inp) do
begin
readln(inp,s);
while pos(s_o,s)<>0 do
begin
i:=pos(s_o,s);
delete(s,i,length(s_o));
insert(s_z,s,i);
end;
while pos(s_o2,s)<>0 do
begin
i:=pos(s_o2,s);
delete(s,i,length(s_o2));
insert(s_z2,s,i);
end;
writeln(out,s);
end;
close(inp);
close(out);
end.