Палиндром

Задача

Определить, является ли строка палиндромом.

Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.

Решение

Описание переменных: 

s – строка;
f – флаг.

Алгоритм решения задачи: 

  1. Брать очередной символ с начала строки и сравнивать его с противоположным.
    1. Если символы не равны, то выдать сообщение "не палиндром", изменить значение флага и остановить сравнение.
  2. Если значение флага не было изменено, то выдать сообщение "палиндром".

Программа на языке Паскаль: 

 

var
    s: string;
    i,f: byte;
begin
    write('String: ');
    readln(s);
    f := 0;
    for i := 1 to length(s) div 2 do
        if s[i] <> s[length(s)-i+1] then begin
            writeln('No palindrome');
            f := 1;
            break
        end;
    if f = 0 then
        write('Palindrome');
readln
end.

Тема

Строки

Уровень

Комбинированные задачи

Теги

Комментарии

Ответ на от Гость

Если в Pascal нет функции приведения всех букв к одному регистру, то тогда можно через разность между кодом маленькой и большой буквы.

Внутри первого if можно создать второй, где переменным присваиваются сравниваемые буквы, затем вычисляется разность. Если разность равна разности по кодировке между малой и большой буквой, то это одна и та же буква.

 

Добавить комментарий