Kobinationsalgorithmus

Von: , Frage gestellt am Do, 19. Feb 2004

hallo,
ich möchte beliebig viele strings in einer beliebigen reihenfolge beliebig oft miteinander kombinieren. kann mir irgendjemand ein tipp geben wie man so etwas macht? habe schon irgendwas mit rekursiv gelesen... die zeit spielt keine rolle!

danke
rokdd

24 Antworten zu dieser Frage

  1. Antwort von nach 6 Stunden 0 hilfreich
    Re: Kobinationsalgorithmus

    Hallo rokdd,

    würde dir gerne helfen, mir ist leider anhand deiner Mail nicht klar geworden, was du eigentlich machen willst. Kannst du mal was mehr an Information 'rübergeben? ;-)

    Chris

    • Antwort von nach 8 Stunden 0 hilfreich
      Re^2: Kobinationsalgorithmus

      Morgen,
      also habe viele verschiedene strings in einem array. und ich will jede kombinationsmöglichkeit nach diesen kriterien: Der String...
      ... darf mehrmals vorkommen
      ... kann an jeder Stelle (oder gar nicht) stehen
      ... die anzahl der Strings, die benutzt werden sollen, ist nicht definiert!

      Hoffe das hilft dir jetzt mehr!

      rokdd

      • Antwort von nach 9 Stunden 0 hilfreich
        Re^3: Kobinationsalgorithmus

        Hallo,
        bei n Strings gibt es nm Möglichkeiten, die m mal hinterander zu hängen. Gelinde gesagt ist das Erzeugen aller Lsg. selbst bei kleinen Werten schon kaum mehr praktikabel. Wenn das eine Übungsaufgabe mit "Eigensinn" ist ok, wenn Du aber z.B. Lsg. für das PCP (PKP) oder eingeschränkte Fassungen davon suchst solltest Du die zusätzlichen Einschränkungen bereits bei der Generierung der Wörter berücksichtigen. Ansonsten sieht es "düster" aus.

        Gruss
        Enno

      • Antwort von nach 10 Stunden 0 hilfreich
        Re^3: Kobinationsalgorithmus

        Hallo rokdd,

        Deine Aufgabe ist nicht Lösbar !! also habe viele verschiedene strings in einem array. und ich
        will jede kombinationsmöglichkeit nach diesen kriterien: Der
        String...
        1. darf mehrmals vorkommen
        2. kann an jeder Stelle (oder gar nicht) stehen
        3. die anzahl der Strings, die benutzt werden sollen, ist nicht
        definiert!

        Aus 1. ergiebt sich schon eine unendliche Anzahl von Lösungen, 3. spielt da schon gar keine Rolle mehr, daurch benötigt die Lösung mit dem Computer auch unendlich viel Zeit.

        Nehmen wir mal nur einen String "a".
        Lösungen:
        1.
        2. a
        3. aa
        4. aaa

        Das kannst du weiterführen bis hier der Server explodiert, allerdings ist das noch nicht die letzte gültige Lösung.

        Du musst also schon deine Aufgabe so einschränken, dass sich eine endliche Menge an Lösungen ergibt, dann kann man es möglicherweise mit einem Computer berechnen.
        Deine Aufgabenstellung lässt sich ganz einfach nicht Lösen !!!

        MfG Peter(TOO)

  2. Antwort von nach 9 Stunden 0 hilfreich
    Re: Kobinationsalgorithmus

    Hallo rokdd,
    die Frage verstehe ich nicht ganz. Möchtest Du einen Quellcode in einer beliebigen Programmiersprache?
    Ein Beispiel für ein Ergebnis einer solchen Operation hätte ich für Dich. Eine beliebige Zahl in einem beliebigen Zahlensystem. Die Anzahl der Strings definiert dabei Dein Zahlensystem.
    Daran siehst Du, daß die Zahl der Kombinationen zwangsläufig unendlich ist. Um ein Ende der Operation zu erzwingen mußt Du die Anzahl der Glieder begrenzen.
    cu Rainer

    • Antwort von nach 9 Stunden 0 hilfreich
      Re^2: Kobinationsalgorithmus

      Hallo,
      programmieren will ich das ganze Delphi. Mir geht es wirklich nur um den Algo. Wir können ruhig die anzahl der strings auf 50 setzen(ich weiß dass es trotzdem sehr viele lösungen gibt)!

      rokdd

      • Antwort von nach 11 Stunden 0 hilfreich
        Re^3: Kobinationsalgorithmus

        Hallo rokdd,
        delphi habe ich nicht und Pascal kann ich auch nicht.
        Eine Lösung für VB ist aber kein Problem und sicher leicht für Delpi umzuschreiben. Wo die Schwierigkeit sein soll, zwei-drei Schleifen ineinander zu schreiben kann ich nicht sehen. ... Ich 'bastel' Dir mal ne fertige Lösung und mail Dir die.
        cu Rainer

        • Antwort von nach 11 Stunden 0 hilfreich
          Re^4: Kobinationsalgorithmus

          Hallo,
          ich weiß ja dass jeder eine andere programmierprache nutzt, genau deswegen wollte ich nur den strategischen teil von euch wissen. das problem ist dass ich mir sicher bin, ob ich alle Varianten durchprobiert habe!
          Trotzddem schon mal danke!

          rokdd

          • Antwort von nach 11 Stunden 0 hilfreich
            Re^5: Kobinationsalgorithmus

            Hallo rokdd,
            zu prüfen, ob Dein Algorithmus richtig ist, ist einfach.
            Fülle Deine Datenbank mit den Ziffern 0 bis 9 und lasse das Programm dann laufen. Der Rechner sollte dann 'zählen' wenn alles richtig ist. ;-)
            cu Rainer



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!