В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Оля11111110
Оля11111110
24.09.2020 19:52 •  Информатика

Палиндромом называется слово, которое одинаково читается как слева направо, так и справа
налево, например, в языке такими словами являются «radar» и «racecar».
света изучает язык и решила принять участие в дистанционном конкурсе
знатоков языка. но, когда она писала ответ на «найдите самое длинное слово,
которое является палиндромом», ошиблась и нажала на клавиатуре одну лишнюю клавишу.
определите, какую букву нужно удалить в набранном светой слове, чтобы это слово стало
палиндромом.
программа получает на вход строку из строчных букв, содержащую не менее 2
и не более 100 000 символов.
программа должна вывести единственное число – номер буквы в строке, при удалении
которой слово становится палиндромом. если при удалении любой буквы слово не станет
палиндромом, программа должна вывести число 0.
кто может написать на pascal'е программу.?

Показать ответ
Ответ:
Баумгертнер
Баумгертнер
10.10.2020 09:03

function ispal(s: string): boolean;

var t: string;

i: integer;

begin

t:='';

for i:=length(s) downto 1 do t:=t+s[i];

if t=s then ispal:=true

else ispal:=false;

end;

var s,t: string;

i,f: integer;

begin

readln(s);

f:=0;

t:='';

for i:=1 to length(s) do

begin

t:=s[i];

delete(s,i,1);

if ispal(s) then

begin

f:=1;

insert(t,s,i);

break;

end;

insert(t,s,i);

end;

if f=1 then write(pos(t,s))

else write(0);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота