1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Uses Crt; {WinCrt si TPW ou BPW}
Var ch:String;
{===============================}
Function NoRepeatChar(S:String;tm:char):String;
Var lg, i, j, x :integer;
Begin
If Pos(tm, S) > 0 Then
Begin
WriteLn;
Writeln('Le caractere temoin(',tm,'),second parametre de la procedure ');
Writeln('"NoRepeatChar", existe dans la chaine, sa position est: ', Pos(tm,S),'.');
Write('Modifier ce caractere pour obtenir un resultat convenable.');
Readln;
Halt;
End;
Lg:=Length(S);
For i:= 1 To Lg-1 Do
begin
For j:= i+1 To Lg Do
Begin
If (S[j] = S[i]) Then
S:=Copy(S,1,j-1)+tm+Copy(S,j+1,Lg-j);
End;
end;
While Pos(tm, S) > 0 Do
Begin
x:=Pos(tm, S);
S:=Copy(S, 1, x-1) + Copy(S, x+1, Lg-x);
End;
NoRepeatChar:=S;
End;
{================================}
BEGIN
ClrScr; {Si TP ou BP}
ch:='00111223445566195 oops this is a sample code but it is not cool or correct!';
Writeln(ch); Writeln;
Write(NoRepeatChar(ch,Chr(184)));
ReadLn; {Si TP ou BP}
{DoneWinCrt; { apres ReadLn Si TPW ou BPW}
END. |
Partager