| |
|
|
p.specht
| un aus Prof. D. Knuth's 'Algorithm X-7' entwickeltes partie verwendet eh bien Procedures statt GOTO sowie INC et DEC statt arithmetische Indexberechnung, quoi qui l'affaire lente aussi hinsichtlich Geschwindigkeit brauchbar pouvoir.
Titre de la fenêtre "Kombinationen-Generator pour k aus N Elementen sans Wiederholung"
'(CL) CopyLeft 2015-09 by P.Specht, Wien; sans jegliche Gewähr!
Fenêtre Style 24:Font 2
Déclarer j%,s%,b%[],n%,dflg%'...Globale Variablen
Main:
Cls rgb(170,255,220)
imprimer "\n 0 pour aufsteigende, 1 pour absteigende Lexikalordnung?: ";:input dflg%
imprimer "\n N = ";:input n%:imprimer " k = ";:input s%
SetSize b%[],s%:WhileLoop s%:b%[&Boucle]=&Boucle+n%-s%-1:Endwhile :j%=1
COMBN'Aufruf des Generators, qui ensuite Kombinationen b%[1.sz%] à
'DoSomethingUseful' liefert
imprimer "\n OK. ";:WaitInput
Goto "Main"
PROC COMBN
REPEAT
DoSomethingUseful'with b&[1..sz&]
cas j%>s%:BREAK
b%[j%]=b%[j%]-1:si b%[j%]<j%:inc j%:CONTINUE:endif
:tandis que j%>1:b%[j%-1]=b%[j%]-1:dec j%:endwhile
UNTIL 0
ENDPROC
proc DoSomethingUseful'...ici z.B. Anzeige qui individuel Elemente:
Whileloop s%,1,-1
si dflg%=0
imprimer int(n%-1-b%[&Boucle]),'increasing
d'autre
imprimer b%[&Boucle],'decreasing
endif
Endwhile
imprimer " ";
cas %pos>(60-s%):imprimer
si %csrlin>30:imprimer "...":WaitInput:cls:endif
endproc
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.05.2021 ▲ |
|
|
|