Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Rekursives Kombinieren mehrer Zahlen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Pille95



Anmeldungsdatum: 11.10.2008
Beiträge: 48
Wohnort: Kuhdorf

BeitragVerfasst am: 24.12.2009, 15:21    Titel: Rekursives Kombinieren mehrer Zahlen Antworten mit Zitat

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 grinsen) 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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz