Pille95
Anmeldungsdatum: 11.10.2008 Beiträge: 48 Wohnort: Kuhdorf
|
Verfasst am: 24.12.2009, 15:21 Titel: Rekursives Kombinieren mehrer Zahlen |
|
|
ich hatte i.wo aus dem forum nen quellcode für rekursives kombinieren dreier zahlen entdeckt den ich ein wenig umgeschrieben habe. es werden die zahlen von 0-9 kombiniert man kann die anzahl der stellen wählen und die möglichen kombinationen werden in grüner schrift (so matrix style ) angezeigt und in na txt gespeichert. ist ein ganz lustig wenn man sich mit dem code mal beschäftigt und beispielsweiße alle kombinationen einens 6 stelligen numerischen passwort anzeigen lässt. wie schon gesagt wollte den kram nur mal posten falls es jmden intressiert ;D
Also hier der code:
Code: | DIM SHARED AS INTEGER n
INPUT "Anzahl der Stellen: ",n
SHELL "del Kombinationen.txt"
DECLARE SUB Kombinier (ByVal t As Integer, ByVal S As String)
DECLARE FUNCTION Spalten (ByVal Zahl As Integer) As String
DIM SHARED Werte(0 TO 9) AS INTEGER = {0, 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 }
DIM SHARED KombiCount AS INTEGER = 0
COLOR 18
IF n < 1 THEN
Print "Fehler: n wurde zu klein gewaehlt."
Sleep: End
End If
PRINT ""
PRINT "Kombinationen:"
PRINT "---"
Kombinier 1,""
PRINT ""
PRINT "---"
PRINT KombiCount & " moegliche Kombinationen."
SLEEP: END
SUB Kombinier (ByVal t As Integer, ByVal S As String)
Dim i As Integer, Neu As String
For i = LBound(Werte) to UBound(Werte)
Neu = S
Neu + = Spalten(Werte(i))
IF t = n THEN
PRINT Neu &"|";
OPEN "Kombinationen.txt" for append as #1
print #1, Neu
close #1
KombiCount += 1
ELSE
Kombinier t+1, Neu
END IF
Next i
END SUB
FUNCTION Spalten (ByVal Zahl As Integer) As String
DIM R AS STRING
R = LTRIM(STR(Zahl))
DO
IF LEN(R) < 2 THEN
R = " "+R
ELSE
EXIT DO
END IF
LOOP
RETURN R
END FUNCTION |
|
|