Проверять, является ли строка палиндромом - Free Pascal

Формулировка задачи:

Помогите. Как написать решение к этой сверхсложной задаче. Дана последовательность символов s1, s2, ..., sn, 1 <= n <= 200, si либо является пробелом, либо принадлежит множеству {A,B,...,Z,a,b,...,z}. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Палиндромом назовем такое слово s1, s2, ..., sk, что s1 = sk, s2 = sk-1, s3 = sk-2, ..., k <= 30, при этом учитывается регистр символов, т.е. A <> Проверять, является ли строка палиндромом? (ПАЛИНДРОМЫ (перевертыши) - слова или группа символов, читающиеся одинаково в обоих направлениях. )

Код к задаче: «Проверять, является ли строка палиндромом - Free Pascal»

textual
var
  s: String;
  i, j: Integer;
begin
  Write('Фраза: '); ReadLn(s);
  i:=1; j:=Length(s);
  while (i<j) and (s[i]=s[j]) do begin
    repeat Inc(i); until (i>=j) or (s[i]<>' ');
    repeat Dec(j); until (j<1) or (s[j]<>' ');
  end;
  WriteLn(i>=j);
end.

15   голосов, оценка 3.867 из 5


СОХРАНИТЬ ССЫЛКУ