Для решения этой задачи нужно сначала открыть и прочитать содержимое текстового файла. Затем для каждой строки необходимо разбить ее на слова и проверить, есть ли среди них симметричные слова (т.е. слова, которые читаются одинаково как слева направо, так и справа налево).
Примерный код решения данной задачи на языке PascalABC.NET может выглядеть следующим образом:
Program SymmetricWords; Var inputFile: Text; line, word: string; i, j: integer; symmetric: boolean; Function IsSymmetric(s: string): boolean; Var len, i: integer; begin len := Length(s); for i := 1 to len div 2 do begin if s[i] <> s[len - i + 1] then begin IsSymmetric := false; Exit; end; end; IsSymmetric := true; end; begin Assign(inputFile, 'input.txt'); Reset(inputFile); while not Eof(inputFile) do begin Readln(inputFile, line); symmetric := false; for i := 1 to Length(line) do begin if line[i] in ['a'..'z', 'A'..'Z'] then begin word := ''; j := i; while (j <= Length(line)) and (line[j] in ['a'..'z', 'A'..'Z']) do begin word := word + line[j]; Inc(j); end; if IsSymmetric(word) then begin symmetric := true; Break; end; i := j; end; end; if symmetric then Writeln(line); end; Close(inputFile); end.
В данном коде мы открываем текстовый файл "input.txt" и построчно считываем его содержимое. Затем для каждой строки мы разбиваем ее на слова, и для каждого слова проверяем, является ли оно симметричным. Если хотя бы одно слово в строке является симметричным, то выводим эту строку на экран.
После выполнения данной программы в консоли будут выведены все строки, содержащие симметричные слова.
Для решения этой задачи нужно сначала открыть и прочитать содержимое текстового файла. Затем для каждой строки необходимо разбить ее на слова и проверить, есть ли среди них симметричные слова (т.е. слова, которые читаются одинаково как слева направо, так и справа налево).
Примерный код решения данной задачи на языке PascalABC.NET может выглядеть следующим образом:
Program SymmetricWords;Var
inputFile: Text;
line, word: string;
i, j: integer;
symmetric: boolean;
Function IsSymmetric(s: string): boolean;
Var
len, i: integer;
begin
len := Length(s);
for i := 1 to len div 2 do begin
if s[i] <> s[len - i + 1] then begin
IsSymmetric := false;
Exit;
end;
end;
IsSymmetric := true;
end;
begin
Assign(inputFile, 'input.txt');
Reset(inputFile);
while not Eof(inputFile) do begin
Readln(inputFile, line);
symmetric := false;
for i := 1 to Length(line) do begin
if line[i] in ['a'..'z', 'A'..'Z'] then begin
word := '';
j := i;
while (j <= Length(line)) and (line[j] in ['a'..'z', 'A'..'Z']) do begin
word := word + line[j];
Inc(j);
end;
if IsSymmetric(word) then begin
symmetric := true;
Break;
end;
i := j;
end;
end;
if symmetric then
Writeln(line);
end;
Close(inputFile);
end.
В данном коде мы открываем текстовый файл "input.txt" и построчно считываем его содержимое. Затем для каждой строки мы разбиваем ее на слова, и для каждого слова проверяем, является ли оно симметричным. Если хотя бы одно слово в строке является симметричным, то выводим эту строку на экран.
После выполнения данной программы в консоли будут выведены все строки, содержащие симметричные слова.