Цитата:
Сообщение от Gasphord
Как это реализовать ?
|
Проще всего — через множества. Например, так (сделано только для латиницы; с кириллицей тоже так можно, но нужно знать, какая кодовая таблица используется: их чертова прорва):
Код:
Var
A:set of Char;
S,S1:String;
i:Integer;
Function Letter(C:Char):Boolean;
begin
Letter:=((Ord(C)>64) and (Ord(C)<91)) or ((Ord(C)>96) and (Ord(C)<123));
end;
Begin
A:=[];
Writeln('Enter the string:');
Readln(S);
S1:='';
for i:=1 to Length(S) do
begin
if Not(Letter(S[i])) then S1:=S1+S[i]
else
if Letter(S[i]) and Not(S[i] in A) then
begin
A:=A+[S[i]];
S1:=S1+S[i];
end;
end;
Writeln(S1);
Readln
End.