J'ai écrit un programme qui efface les espaces supplémentaires. Il s'exécute mais il ne fonctionne pas bien.
Voilà le programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
program espace_cleaner ;
uses wincrt ;
var ch:string ;
 
 
procedure saisie (var ch :string );
begin
writeln('donner une chaine de carractéres ');
readln (ch);
end;
 
procedure espacecleaner (var ch:string );
var i:integer;
begin 
for i:= 1 to length(ch) do
  begin 
  if (ch[i]=' ') and (ch[i+1]=' ') then
  delete(ch,i,1);
  end;
  end;
 
procedure affichage (ch:string );
begin
writeln('ch= ',ch);
end;  
begin
saisie(ch);
espacecleaner(ch);
affichage(ch);
end.
Quand je le teste, par exemple je donne ch=a (plusieurs espaces) b.
Il m'affiche ch= a (plusieurs espaces mais moins qu'avant) b
J'espère que vous m'aiderez à corriger la faute et merci d'avance ^^