Поиск палиндромов (2 уровень) |
Условие :В тексте слова отделяются друг от друга пробелами. После последнего слова стоит точка. Найти все слова-перевёртыши, то есть те, которые читаются одинаково слева-направо и справа-налево. Технические условия: Программа должна читать исходные данные из файла input.txt, содержащего исследуемый текст. Файл output.txt должен содержать список всех слов-палиндромов, разделённых пробелами. Решение: {Программа читает текст из файла input.txt, удаляет точку в конце предложения, затем переводит текст к нижнему регистру, и с помощью функции Perev логического типа, проверяет, является ли каждое из слов исследуемого текста палиндромом} var 'Р'..'Я':Txt[i]:=Chr(ord(Txt[i])+80); 'A'..'Z':Txt[i]:=Chr(ord(Txt[i])+32); end; end; n:=1; assign(f,'output.txt'); rewrite(f); for i:=1 to length(txt) do begin if (Txt[i]=' ') or (i=length(txt)) then begin if Perev(Copy(Txt,n,i-n)) then writeln(f,copy(Txt,n,i-n));n:=i+1;end; end; close(f); end. |