Поиск по разделу «Программирование»

Мягкий палиндром

Pas.0016. Напишите программу, которая определяет, является ли заданная строка мягким палиндромом (пробелы не считаются). В строке могут встретиться только буквы и пробелы.
Далее см. CS.0017.
Решение.
program LitePalindromeString;
const
    TESTED_STRING = 'А роза упала на лапу Азора';

var
    left, right : integer;
    testedString, isPalindromeString : string;

begin
    testedString := TESTED_STRING;
    left := 1;
    right := length(testedString);
    isPalindromeString := '';

    while (left < right) and (isPalindromeString = '') do
    begin
        if testedString[left] = ' ' then
            left := left + 1
        else if testedString[right] = ' ' then
            right := right - 1
        else if upcase(testedString[left]) <>
                          upcase(testedString[right]) then
            isPalindromeString := 'не 'else
        begin
            left := left + 1;
            right := right - 1
        end
    end;
    
    write('Строка «' + testedString + '» ' +
        isPalindromeString + 'является палиндромом.');
end.
Консоль.
Строка «А роза упала на лапу Азора» является палиндромом.