Дан текстовый файл. Вывести те строки, в которых есть симметричные слова.
PascalABC.NET

22 Авг 2019 в 19:44
312 +1
0
Ответы
1

Для решения этой задачи нужно сначала открыть и прочитать содержимое текстового файла. Затем для каждой строки необходимо разбить ее на слова и проверить, есть ли среди них симметричные слова (т.е. слова, которые читаются одинаково как слева направо, так и справа налево).

Примерный код решения данной задачи на языке 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" и построчно считываем его содержимое. Затем для каждой строки мы разбиваем ее на слова, и для каждого слова проверяем, является ли оно симметричным. Если хотя бы одно слово в строке является симметричным, то выводим эту строку на экран.

После выполнения данной программы в консоли будут выведены все строки, содержащие симметричные слова.

20 Апр 2024 в 13:01
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир