Smile Le 22/11/2003 à 19:53 Voilà je voudrais découper tout une phrase en 26 caractères jusque là pas trop difficile mais le truc difficile c qui faut pas que les mots soit coupé.
Exemple :
"Bonjour comment ça va moi ça va mais ..."
Il faut la découper en partie de 26 caractères avec que des mots entier, il faut pas ...com" et "ment ... sur l'utre ligne j'ai fait un prog pour ça met il est vachemen lent
Voilà Merci d'avance
Il suffit de repérer les espaces puis de créer une liste de mots.
Ensuite tu additionne les moits dans l'ordre de cette liste en content les espaces si ça dépasse les 26 caractères tu retire le dernier mot que tu a pris.
Tu affiche le texte et tu continue.
Je ne vois rien de complexe, tu veux faire comme words, je crois que ça ce nomme wordswrap?
oui c'est ca et oui, c'est facile à faire ...
Smile Le 22/11/2003 à 21:06 Voilà ce que j'ai fait pourr l'instant mais c super lent :
decoup(str)
Prgm
{}->stl
1->last
0->esp
For k,1,dim(str)
If k-last>26 Then
If esp=/=0 Then
mid(str,last,esp-last)->stl[dim(stl)+1]
esp->last
0->esp
Else
mid(str,last,26)->stl[dim(stl)+1]
last+26->last
EndIf
EndIf
If ord(mid(str,k,1))=32 and k-last=/=26
k+1->esp
EndFor
mid(str,last,26)->stl[dim(stl)+1]
EndPrgm
Si vous avez des conseils
Le mieux serait de partir de la droite de la phrase... Etant donné qu'on écrit de gauche à droite, non ? non ? bon.
Vertel est peut être capable de faire mumuse avec les variables et donc d'effectuer certaines opérations bien plus rapidement que le TI-Basic. Du genre extraire un mot dans une chaîne.
Je ne vois pas comment accélérer ton programme. J'avais réalisé un mini traducteur mot à mot sur TI92 et tu ne peux pas t'imaginer la lenteur extrême.
Smile Le 22/11/2003 à 21:20 ARG C pas fait pour me rassurer ça
Disons que le Ti-basic c'est bien beau pour les programmes courts qui demandent pas midi à 14 heures. Moi-même pour mon manoir, j'ai fait une boucle assez petite (en longueur) concernant la gestion du curseur... Et le curseur bouge à 2 mm/heure.
Zeph Le 22/11/2003 à 22:09 Avant d'écrire quoi que ce soit, quand en découpant 26 char on tombe au milieu d'un mot, tu préfere modifier de façon a avoir une chaine correcte de moins ou plus que 26 caractères ? (en gros, si on coupe un mot, on le vire de la chaine ou au contraire on l'ajoute quitte a dépasser un peu les 26 caractères ?)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Smile Le 23/11/2003 à 17:00 Je veux une chaine dans ce cas de moins de 26 caractères
Ca doit pas dépasser 26
Smile Le 23/11/2003 à 17:26 Merci bcp je vais essayer ça tout de suite
Smile Le 23/11/2003 à 17:27 et comment on fait pour travailler sur une liste au lieu d'un chaine ??
Smile Le 23/11/2003 à 17:35 Ya un DOmain ERROR je comprends pas pk on prend la dimension de s c tjs 1
Zeph Le 23/11/2003 à 17:46 Ça marche j'ai testé après coup. <> c'est différent. Pour travailler avec des listes tu fais seq(mid(s,i,1),i,1,dim(s))»l ou bien seq(ord(mid(s,i,1)),i,1,dim(s))»l au début.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Smile Le 23/11/2003 à 18:33 ça marche tjs pas ya un domaine ERROR
fautbien faire
decoupe("La phrase à découper")
Smile Le 23/11/2003 à 18:57 nan ça marche pas ça m'enerve mais bon je vais cherchetr d'ou vient ce domain Error
Merci qd meme
Argh, mais arrêtez de noter <> pour "différent"! La notation /= est comprise par la calculatrice, donc utilisez celle-là!
Smile Le 29/11/2003 à 14:11 Nan le bug en fait c'est qd ya pas un espace dans ce qui faut découper alors là ya un domain ERROR voilà le pk du comment
Désolé de t'avoir embeter mais c vrai ça ma obligé a réfléchir a l'algo
Smile Le 29/11/2003 à 16:58 Pouempêcher le bug
faut passer en revu une fois tout le fichier pour voir ? Ou ya une meilleur technique
Zeph Le 29/11/2003 à 18:12 t'as qu'à tester avec instring, ça devrait être rapide.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)