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
| // via joreveur 15/07/2012 version 0.1
//Programme pour supprimer les espaces inutiles dans une chaine
program Supprespace;
uses crt;
var space,chaine:string;
i,flag:integer;
const DeuxEpaces=' ';
begin
clrscr;
writeln('Programme pour supprimer les espaces inutiles dans une chaine');
//saisie de la chaine de départ
flag:=0;
while flag=0 do
begin
write('entrer une chaine de caractères : ');
readln(chaine);
for i:=1 to length(chaine) do
begin
if chaine[i]<>' ' then flag:=flag+1;
end;
end;
//suppression des doubles espaces par un seul espace par recurcivité
space:=DeuxEpaces;
while space=DeuxEpaces do
begin
for i:=length(chaine) downto 1 do
begin
space:=copy(chaine,i,2);
if space=DeuxEpaces then
begin
chaine:=copy(chaine,1,i-1)+' '+copy(chaine,i+2,length(chaine)-1);
end;
end;
end;
//suppression de l'espace de début et de fin si nécessaire.
if chaine[1]=' ' then chaine:=copy(chaine,2,length(chaine)-1);
if chaine[length(chaine)]=' ' then chaine:=copy(chaine,1,length(chaine)-1);
writeln(chaine,' (longueur de : ',length(chaine),')');
write('enter pour quitter');
readln;
end. |
Partager