Forum

Catégorie : Support
Forum : TI-82 Advanced | Archives
Vues : 910
Réponses : 2
Type : discussion
Statut : réglé
Etat : clos

Chaine , séparer en mots

alix59 le 13/12/2017 à 18:40
bonjours

j ai besoin d aide pour savoir si il est possible de faire en sorte que une chaines donne un chiffre pour un mot ou de diviser la chaines en plusieurs partie non égal ( chaines1(je,tu,il,nous,vous,ils) )
exemple:

input "",A
(trouver A dans chaines 1)
(A est le 4 eme mots de la chaines 1)

merci a vous et bonne journée ou soirée
Mingerton le 14/12/2017 à 16:24
Bonjour,

J'ai du mal à comprendre ta question, je vais répondre à ce que j'ai compris.

Bonc tu as une chaîne "jetuilnousvousils" pour reprendre ton exemple, et tu veux que quand on entre le chiffre 2 il ressorte le 2e mot de cette chaîne.

C'est quelque chose d'assez compliqué si les mots sont collés dans la chaîne (pas de dictionnaire en TI Basic pour reconnaître les mots). Par contre, si dans ta chaine les mots sont déjà séparés ça se fait assez facilement.

Donc admettons que ta chaîne soit "je,tu,il,nous,vous,ils" (on sépare avec des virgules).

Dans le code on doit :
- demander le numéro du mot qu'on cherche
- trouver l'index de la virgule avant ce mot
- trouver l'index de la virgule après ce mot
- retourner la sous-chaîne de la chaîne principale entre ces deux index

Les fonctions à notre disposition :
- inString(chaîne, sous chaîne,index de départ)/carChaîne en français : donne le premier index où l'on retrouve la sous chaîne dans la chaîne de départ à commencer par l'index de départ
- sub(chaîne,index de départ,longueur)/sous-chaîne en français : donne la sous chaîne à partir de index de longueur donnée

Donc en code on a quelque chose comme ça :

Code
"JE,TU,IL,NOUS,VOUS,ILS->Str1
Prompt A
0
For(I,1,A-1
inString(Str1,",",Ans+1
End
Ans->S
-S-1+inString(Str1,",",S+1
If Ans<0
length(Str1)-S
sub(Str1,S+1,Ans


N'hésite pas à poser des questions si tu ne comprends pas
alix59 le 17/12/2017 à 14:26
bonjours
un grand merci a toi car c est exactement se que je voulais
j ai a comprit une partie mais je ferai mes propre test en me basent sur ton programme afin de comprendre intégralement sont fonctionnement

encore merci a toi et bonne journée sarcatisk.gif