DP.10 · Основы
Задача
Ввести строку и определить, является ли она палиндромом.
Алгоритм
Приводим к нижнему регистру, убираем пробелы, сравниваем символы с двух концов, двигаясь к центру.
Исходный код
⇩ Скачать 10-proverka-palindroma.dpr
program ProverkaPalindroma;
{$mode delphi}{$apptype console}
uses SysUtils;
function IsPalindrome(s: string): Boolean;
var i, j: Integer;
begin
s := LowerCase(StringReplace(s, ' ', '', [rfReplaceAll]));
i := 1; j := Length(s); Result := True;
while i < j do begin
if s[i] <> s[j] then Exit(False);
Inc(i); Dec(j);
end;
end;
var s: string;
begin
Write('Строка: '); ReadLn(s);
if IsPalindrome(s) then WriteLn('Палиндром') else WriteLn('Не палиндром');
ReadLn;
end.
Пояснения
LowerCase и StringReplace из SysUtils. Exit(False) досрочно выходит при первом несовпадении.