[pascal] inverser une chaîne de caractères

grad -  
 HanOu -
Bonjour,
Comment faire pour inverser une chaîne de caractères dansL'algorithme et En pascal
c'est à dire si chaîne=ABC123 alors chaîne <= 321CBA
sans la méthode tranditionnelle:

for i:=1 to longueur_de_chaîne Do
fot j:=longueur_de_chaîne DownTO 1 Do
chaîne[i]:=chaîne[j];

c'est à dire une fonction directe comme inverse(chaîne) ou quelque chose comme ça

*Autre chose : comment faire pour déterminer la longueur d'une chaîne de carcactères ?
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. salhi
     
    salut grad,
    c'est tjrs salhi qui vous répond!
    pour la longueur d'une chaîne c'est : n <-- Long(ch) en algo et n:=Length(ch) en pascal
    pour l'inverse il n'ya pas de fonction prédéfinit mais tu peux écrire une fonction récursive:

    function inverse(ch:string; i:integer):string;
    begin
    if(i<=length(ch))then
    inverse:=inverse(ch,i+1)+ch[i];
    end;

    et dans le programme principal il faut faire l'appel: chaine_inverse:=inverse(ch,1);

    Bonne chance.
    6
    1. saff
       
      la condition ne peut jamais être une affectation
      0
    2. nina
       
      ce n'est pas une affectation, c'est inferieur ou égale à ^^
      0