Показать сообщение отдельно
  #7  
Старый 21.06.2011, 13:00
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Код:
function getPalindromes(text: string): TStringList;
var
 str: string;
 i, j: integer;
 S, R: TStringList;
begin
 S := TStringList.Create;
 R := TStringList.Create;
 S.Text := StringReplace(Trim(text), ' ', #13#10, [rfReplaceAll]);
 for i := 0 to S.Count - 1 do begin
  str := '';
  S.Strings[i] := AnsiLowerCase(Trim(S.Strings[i]));
  if S.Strings[i] <> '' then begin
   for j := Length(S.Strings[i]) downto 1 do
    str := str + S.Strings[i][j];
   if str = S.Strings[i] then R.Add(str);
  end;
 end;
 S.Free;
 Result := R;
end;

Код:
 ShowMessage(IntToStr(getPalindromes('123321 abcba').count));
Ответить с цитированием