Определить, является ли введенная с консоли строка палиндромом - Free Pascal
Формулировка задачи:
Программа определяет, является ли введенная с консоли строка симметричной. Например, строка «казак» симметрична. Её можно одинаково прочитать слева направо и справа налево.
Решение задачи: «Определить, является ли введенная с консоли строка палиндромом»
textual
Листинг программы
n:=length(s);
k:=0;
i:=1;
while(i<=n div 2)and(k=0) do
if s[i]<>s[n-i+1 then k:=1 else inc(i);
if k=0 then write('Симметрична')
else write('Не симметрична');
Объяснение кода листинга программы
- Входные данные: строка
s, полученная с консоли. - Определение длины строки: переменная
nинициализируется значением длины строкиs. - Инициализация счётчиков: переменные
kиiинициализируются начальными значениями. - Проверка на симметрию: выполняется цикл, пока
iменьшеn/2иkравно 0. - Сравнение символов: если
s[i]не равноs[n-i+1], тоkустанавливается в 1. - Увеличение счётчика: если
kравно 0, то увеличивается значениеi. - Вывод результата: если
kравно 0, то выводится сообщениеСимметрична, иначе выводится сообщениеНе симметрична.