bug avec une boucle For-next !![Fixed]

Archive.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

bug avec une boucle For-next !![Fixed]

Message par Backup »

voila , je m'amuse avec les Swaps de lettres :D

je fait un petit prg en console vite fait puis je prends arbitrairement
les 3 lettre "dob" que je met en tableau , jusque la pas de blem

mais lorsque j'arrive la ou j'ai mis le Calldebugger

ya comme qui dirai un BLOCAGE dans le TRACE de la boucle

c'est comme si la boucle se tracais, mais que l'on ne vois pas le tracage se faire !!!
et d'ailleur le contenu de la boucle n'est apparament pas effectué
pourquoi ??

j'ai mis les explications dans le listing , si vous avez quelques minutes a perdre :D


OpenConsole ()
: Print ( "entrer un mot" )
:mot$= Input ()
mot$= "dob"
long= Len (mot$)

Dim mo$(long+1)
For i=1 To long
mo$(i)= Mid (mot$,i,1)
Next i
; **************Factoriel ****************
lg=long
For t=long-1 To 1 Step -1
lg=lg*(t)
Next t
; ***************************************
Print (mot$+ Chr (10))
For i=1 To lg

o=long-1
o2=long
Swap mo$(o),mo$(o2)

For a=1 To long
sorti$=sorti$+mo$(a)
Next a
Print (sorti$+ Chr (10))
sorti$= ""


;****************** GROS PROBLEME NON ? *****************************
CallDebugger
buf$=mo$(long) ; on met la derniere lettre "o" dans un buffer , ça c'est bon !!!
For a=long To 1 Step -1 ; en principe ici a devrai etre egale a Long , mais le trace n'avance pas pendant 3 tours pourquoi
Swap mo$(a) , mo$(a-1) ; ceci n'est pas TRACE !!!!!!!!!
Next a
mo$(1)=buf$
; ********************************************************************


For a=1 To long
sorti$=sorti$+mo$(a)
Next a
Print (sorti$+ Chr (10))
sorti$= ""

Next i
Input ()



CloseConsole ()

Dernière modification par Backup le dim. 29/oct./2006 21:00, modifié 2 fois.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Juste pour info, tu sais que tu peux remplacer

Code : Tout sélectionner

  Print(sorti$+   Chr   (10)) 
par

Code : Tout sélectionner

  PrintN(sorti$) 
:?:
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

corrigé (voir forum anglais)

Dri
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Ouaip j'avais vu, ça y va les corrections, il est déchainé Fred :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

comtois a écrit :Juste pour info, tu sais que tu peux remplacer

Code : Tout sélectionner

  Print(sorti$+   Chr   (10)) 
par

Code : Tout sélectionner

  PrintN(sorti$) 
:?:
une inattention de ma part
faut dire que lorsque je met au point un algo, je ne fignole pas
je vais taper un code comme il me viens :lol:
Répondre