Fermer2
WarptenLe 12/10/2009 à 22:15
Yop là
Glop glop,

J'suis confronté à un problème assez chiant mais pas extrêment handicapant.

J'avais fait, y a assez longtemps, une fonction qui supprime les doublons d'une liste.

auche, droite)->l EndIf EndFor:EndFor l->main/lout ENdPrgm
J'vous file le pseudo-code, me souviens pas exactement de tout
ndbl(l)
Prgm
TriCroi l
For x,1,dim(l)
l[x]->a
0->n
For y,x+1,dim(l)
l[y]->b
If a=b: n+1->n
If a!=b Then
© On coupe la liste en deux :
//SI j'ai {1,5,2,3,1} en argument
//J'aurais {1,1,2,3,5} après TriCroi (SortA)
//Puis je couperais en prenant {1 et ,2,3,5}
//Et je collerais les morceaux que je foutrais dans la liste.
//En gros : augmente(g


En bref, ça utilise TriCroi pour ne pas devoir relire depuis le début de la liste à chaque itération de for.
Le problème, c'est que vu que j'utilise TriCroi, je peux pas faire un Func:...:EndFunc. Du coup je suis obligé d'appliquer une récursivité en appelant la fonction et en lui donnant la liste en argument.
Le problème, c'est :
- Comment faire une récursivité en TiBASIC ?
- Comment savoir quand la liste n'a plus aucun argument en doublon ?

Le code c'est du de mémoire (et c'est l'idée très générale), j'essayerai de vous retrouver ça.

Merci d'votre aide et des infos éventuelles grin