Является ли строка палиндром?
Определить, является ли строка палиндромом.
Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.
Алгоритм решения задачи:
- Брать очередной символ с начала строки и сравнивать его с противоположным.
- Если символы не равны, то выдать сообщение "не палиндром", изменить значение флага и остановить сравнение.
- Если значение флага не было изменено, то выдать сообщение "палиндром".
Программа на языке Паскаль:
var
s: string;
f: boolean;
len, i: byte;
begin
write('Строка: ');
readln(s);
len := length(s);
f := True;
for i := 1 to len div 2 do
if s[i] <> s[len-i+1] then begin
f := False;
break;
end;
if f = True then
writeln('Палиндром')
else
writeln('Не палиндром');
end.
Примеры выполнения:
Строка: banana
Не палиндром
Строка: banab
Палиндром
Другой вариант решения задачи - перезаписать символы строки в обратном порядке в другую строку и сравнить строки. Если они окажутся равными, значит перед нами палиндром.
var
s, s1: string;
i: integer;
begin
readln(s);
s1 := '';
for i := length(s) downto 1 do
s1 := s1 + s[i];
if s = s1 then
writeln('Палиндром')
else
writeln('Не палиндром');
end.