Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст.
Слова в тексте разделены пробелами и знаками препинаниями.
Файл f2 содержит не более 30 слов, которые разделены запятыми.
Эти слова образуют пары: каждое второе является синонимом первого.
Заменить в файле f1 те слова, которые можно, их синонимами.
Результат поместить в новый файл.
Рекомендую описать файлы как file of char, а потом читать их посимвольно, заполняя слово пока идут подряд буквы. При встече первого небуквенного символа:
- в случае f1: сверять слово со словарем синонимов;
- в случае f2: заносить слово в словарь синонимов.
То есть примерно такая конструкция для чтения:
const
Letters=['A'..'Z','a'..'z'];
var
f:file of char;
c:char;
s:string;
...
s:='';
while not EoF(f) do begin
Read(f,c);
if c in Letters then s:=s+c else if s<>'' then begin
{тут делаем, что надо}
s:=''
end
end;
Если файл описывать как char, то он не находит его и не читает, а если переделать в String все то не работает.
program ten;
uses crt;
const
Letters=['A'..'Z','a'..'z'];
var
f:file of char;
c:char;
s:string;
begin
assign(f,'c:\f1.file');
reset(f);
s:='';
while not eof(f) do begin
read(f,c);
if c in Letters then s:=s+c else
if s<>' ' then begin
s:=' ';
end;
end;
write(' ');
writeln(s);
end.
М | Пользуемся тегами |