
21.06.2011, 13:00
|
Продвинутый
|
|
Регистрация: 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));
|