Zufallsstring erzeugen im Verhältnis von x:y:z

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zufallsstring erzeugen im Verhältnis von x:y:z

    Im Betreff vielleicht etwas schlecht beschrieben, aber es ist schwer mit sowenig Zeichen.

    Also Problem ist folgendes.

    Ich habe drei Arrays. Eins mit Buchstaben, eins mit Zahlen und das dritte mit Sonderzeichen. Diese drei Arrays sollen Grundlage für einen zufällig erzeugen String sein.

    Der String darf beliebig viele Zeichen besitzen also entweder 5 oder 10 oder was weiß ich.

    Soweit so gut.
    Das schwierige an der Sache ist, die Buchstaben, Zahlen und Sonderzeichen, sollen in einem festgelegten Verhältnis in diesem String auftauchen.

    Beispiel:

    Stringlänge 6
    Verhältnis (Buchstaben:Zahlen:Sonderzeichen) 3:2:1

    Ergebnis wäre dann: 3 Buchstaben, 2 Zahlen und 1 Sonderzeichen.
    Dies ist jetzt ne relativ einfache Rechnung schwieriger wird es dann z.B. wenn bei 6 Zeichen das Verhältnis 3:3:1 sein soll etc.
    Hat jemand zufällig ne Idee wie ich sowas am besten umsetzen könnte?
    Brauch mal wieder nen kleinen Schubs in die richtige Richtung.

  • #2
    Re: Zufallsstring erzeugen im Verhältnis von x:y:z

    Original geschrieben von st@tic
    ...schwieriger wird es dann z.B. wenn bei 6 Zeichen das Verhältnis 3:3:1 sein soll etc.
    Hm... im Programm musst du aber schon die Priorität festlegen, welche Gewichtung wichtiger ist, so dass die Routine sich danach richten kann, denn ein Zeichen kann man schlecht teilen, d.h. in solchen Fällen dann zu 3:2:1 oder 2:3:1 oder 2:2:2 je nach Gewichtung ändern.

    Kommentar


    • #3
      joa ich denke die prio wird auf buchstaben, dann zahlen, dann sonderzeichen liegen.

      ich tendiere momentan in die richtung
      erstmal die anzahlen der zeichen auszurechnen mir mittels array_rand diese aus den arrays zu suchen und dann später einfach nochmal "shuffeln" um sie etwas durcheinander zu hängen.

      Kommentar


      • #4
        Re: Zufallsstring erzeugen im Verhältnis von x:y:z

        Original geschrieben von st@tic ... schwieriger wird es dann z.B. wenn bei 6 Zeichen das Verhältnis 3:3:1 sein soll ...
        Vertippt oder verrechnet?

        Zeig mal deinen Ansatz!

        Kommentar


        • #5
          Re: Re: Zufallsstring erzeugen im Verhältnis von x:y:z

          Original geschrieben von onemorenerd
          Vertippt oder verrechnet?

          Zeig mal deinen Ansatz!
          leider hab ich noch keinen konkreten in code umgesetzten ansatz. z.Zt hab ich da leider etwas schwierigkeiten mir das ganze vorzustellen, daher ist ne codeumsetzung noch nicht möglich gewesen.

          ich brauch lediglich etwas hilfe was die logik betrifft.


          vertippt und verrechnet hab ich mich nicht. die zahlen sollen lediglich das verhältnis angeben.

          mein momentaner rechenansatz ist

          Zeichenlänge / Summe des Verhältnisses
          Das Ergebnis mit den Einzelverhältnissens multiplizieren

          Da gibt es dann noch das Problem, dass es manchmal nicht aufgeht und ein Zeichen zuviel ist. Da bin ich imo auch noch am grübeln

          Weitere Vorgehensweisen sind immer herzlich willkommen.

          Kommentar


          • #6
            hm ... ich würde sagen, generell immer zuerst nach unten runden, danach vergleichst du die Summe soll und ist, wenn was fehlt, dann nach prio list Zeichen hinzufügen.

            Kommentar


            • #7
              jo sehr gute idee.
              ich denke mal damit kann ich weiterarbeiten

              Kommentar

              Lädt...
              X