Suppression des espaces consécutifs dans une chaîne de caractères
Bonjour suite à l'élaboration d'un algorithme pour supprimer des espaces consécutif dans une chaine de caractères j'ai écrit le code en pascal pour delphi
a priori l'algo est bon la compilation passe mais j'ai un message d'erreur type violation d'accès est ce que vous pouvez me dire ce qui provoque cette erreur?
l'algo:
Code:
1 2 3 4 5 6 7 8 9 10
|
pour i<-1 à longueur(chaine) faire
si (chaine[i]<>' ') alors
chaine2[j]<-chaine[i]
fsi
si (chaine[i]=' ') et (chaine[i+1]<>' ') alors
chaine2[j]<-' '
fsi
j=j+1
fpour |
le code pascal :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
var
i,j:integer;
chaine,chaine2:string;
for i:=1 to (max-1) do //max est la variable stockant la longueur de la chaine
begin
if chaine[i]<>' ' then
begin
chaine2[j]:=chaine[i];
end;
if ((chaine[i]=' ') and (chaine[i+1]<>' ')) then
begin
chaine2[j]:=' ';
end;
j:=j+1;
end; |