Valentin03 a écrit:Le langage, c'est un basic. La chaîne c'est une chaîne (en fait c'est du code mis en chaîne)
Je voudrais bien faire l'algo. (pour comprendre pourquoi je coince.)
Les fonctions existantes sont certainement en C; C++ ou autre langues, qui comportent des caractères qui me sont inconnus; et des "cabrioles" que ne me permets plus le degrés d'oxydation de mon cerveau.
a$ = "le fer me permet de fermer ma ferrure"
b$ = ""
i = 1
tant que i <= longueur(a$)
si i<= longueur(a$)-2 et a$(i) = 'f' et a$(i+1) = 'e' et a$(i+2) = 'r' alors
b$ = b$ + "cuivre"
i = i + 3
sinon
b$ = b$ + a$(i)
i = i + 1
finsi
fintantque
ampholyte a écrit:Montre nous ce que tu as déjà peut-être pour qu'on puisse te dire où cela ne fonctionne pas.
#w.c, "!contents? orig$":nletr=len(orig$) '--le mots d'origine et sa longueur mise en variable
#w.d, "!contents? rempl$":lonremp=len(rempl$) '--le mot de remplacement
#w.tx, "!contents? code$" '--la chaîne à traiter
xx=1
toutou=len(code$) '---ici j'ai essayé de rallonger
for x=1 to tou
if mid$(code$, x, nletr)=orig$ then cont=cont+1
next x
tou=len(code$)+(n*lonremp)
'-----fin de la rallonge que j'ai testé dans une autre version
for t=1 to toutou '---retour à la version non rallongée
for x=xx to tou
if mid$(code$, x, nletr)=orig$ then xx=x-1:exit for '--trouve le premier mot+ mémorise l'index
next x
print xx
scan '----Pour détecter l'arrêt d'urgence
if sto=1 then wait '--l'arrêt d'urgence (pour les boucles infinies dont je suis un grand amateur !)
avant$=LEFT$(code$, xx)
apres$=RIGHT$(code$, tou-xx+1)
code$=avant$+rempl$+apres$
xx=xx+1
tou=len(code$)+lonremp
next t
chombier a écrit:Mon code remplit cette condition. Le test "si i<= longueur(a$)-2 et a$(i) = 'f' et a$(i+1) = 'e' et a$(i+2) = 'r' alors" peut passer 50 fois.
Dlzlogic a écrit:Bonjour,
Il peut y avoir des quantités de méthode pour réaliser cela.
Si c'est un exercice, il vaut mieux commencer par écrire l'algorithme en FCF. On utilise souvent, aussi, des ordinogrammes pour décrire cela. Il y a un ancien membre de ce forum qui avait un logiciel vraiment bien pour cela.
Sinon, une astuce est ce commencer par la fin, ça résout pas tous les problèmes, mais ça aide.
Valentin03 a écrit:Salut Dlzlogic, Ce n'est pas un exercice, j'améliore mon éditeur.
Le but c'est de remplacer en une manip toutes les occurrences d'un mot par un autre.
je sais qu'il y a des éditeurs qui font cela très bien, mais mon éditeur il compile dans la foulée, et pas les autres.
Les américains ont crus que c'était une chaîne de mots. Si ça avait été le cas j'aurais pu mettre en tableau.
C'est une chaîne "continue".
Pour faire un ordinogramme, il faut "tenir" la problématique.
Si je tenais la problématique, je ferais l'algo.
Je vais essayer le pseudo-code de chombier.
chombier a écrit:Si ce n'est pas un exercice, ne te fatigue pas, il y a forcément une fonction intégrée à ton basic qui fait ça, que ce soit replace, str_replace ou un autre nom, peu importe, elle existe.
Surtout, cette fonction sera bien plus optimisée que tout ce que tu pourra faire en l'écrivant toi même.
Valentin03 a écrit:T'es optimiste toi ! En testant ton code je m'aperçois que mon langage n'accepte pas les tests dans la "while"!! Alors, str_replace....je peux toujours la chercher...
Je vais essayer la méthode "Dlzlogic", qui m'a l'air d'être aussi optimiste que toi .....
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :