1Fermer3
loclamorLe 27/10/2009 à 16:52
stark (./1) :
£L(2)+2->£L(2) expr(sub(Str0,£L(2),2)->£XY(£L(2))


£L(2)+2->£L(2) --> Tu augmente de 2 à chaque tour, ça viendrais pas de là ?

Car quand après tu store à la position £L(2) de £XY, ce n'est pas défini.

-1->£L(2) --> Pourquoi -1 ?

Voila, je t'ai corrigé ça vite fait, ça a l'air de marcher :
Lbl 2
2->dim(£L)
length(Str0->£L(1)
(£L(1)*0.5)->dim(£XY)
0->£L(2)
Repeat £L(1)=£L(2)
£L(2)+2->£L(2)
expr(sub(Str0,£L(2)-1,2)->£XY(£L(2)/2)
End
Return 


Alors, donc ce que j'ai modifié :
0->£L(2) --> bah on commence toujours à 0, c'était pas la peine de le modifier ;
Repeat £L(1)=£L(2) --> y avait pas à y modifier depuis le premier ;
expr(sub(Str0,£L(2)-1,2)->£XY(£L(2)/2) :
£L(2)-1 --> à cause de l'incrémentation de 2, sinon on commence à lire au 2nd caractère
£XY(£L(2)/2) --> à cause de l'incrémentation de 2, sinon on va stocker en position 2, 4, 6, 8, etc au mieu de 1, 2, 3, 4 etc.

Voila !
enjoy wink