Ergebnis 1 bis 8 von 8

Thema: "Permutation" von Mengen

  1. #1
    King2
    Gast

    Standard "Permutation" von Mengen

    Hallo habe folgendes Problem: Ich have ein array mit n Elementen somit habe ich 2^n-1 ergebnisse die in einem bsp so ausshene:

    string array={"a","b","c"}

    ausgabesollte so sein)
    a
    b
    c
    ab
    ac
    bc
    abc

    2^n-1=2^3-1=7 OK

    Jedoch wie berechne ich das


    Neues bsp:

    string array={"a","b","c","2"}

    ausgabesollte so sein)
    a
    b
    c
    2
    ab
    ac
    a2
    bc
    b2
    .
    .
    .
    abc2


    2^n-1=2^2-1=15 OK


    Bitte um Code oder Hilfe!!!

    Am besten iterativ lösen!!

    Mfg Peter
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Salut,

    das nennt sich Potenzmenge (wenn du die leere Menge noch dazu nimmst).

    Ich würde eine Schleife über die Länge der Teilstrings machen (erst alle mit Länge 1, dann alle mit Länge 2...). Beim aktuellen Teilstring dann von links nach rechts die Zeichen hochzählen.


    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  3. #3
    King2
    Gast

    Standard

    Hat jemand auch einen code bzw. pseudocode

  4. #4
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Salut,

    extra für dich habe ich die Suchfunktion in einem meiner alten Foren angeworfen und folgendes gefunden:
    http://www.vbarchiv.net/forum/read.p...28&t=64895&v=f
    http://www.vbarchiv.net/forum/read.p...02167&t=102166


    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  5. #5
    King2
    Gast

    Standard

    Zitat Zitat von vbtricks
    Salut,

    extra für dich habe ich die Suchfunktion in einem meiner alten Foren angeworfen und folgendes gefunden:
    http://www.vbarchiv.net/forum/read.p...28&t=64895&v=f
    http://www.vbarchiv.net/forum/read.p...02167&t=102166


    Stefan
    Super danke!! Hat jedoch jemand ein C++ Code Beispiel!!!

    Vielen Dank

    @vbtricks vielen dank

  6. #6
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Es existiert eine STL Implementierung für Permutationen: Link.
    Die ist afaik iterativ gelöst.

    Selber zu machen ist es wesentlich einfacher per Rekursion. Probier es doch selber mal anstatt auf ein Code Beispiel zu warten.

    PS: ich hab 2 Minuten gebraucht um via google eine fertige Implementierung zu finden, also einfach mal selber suchen...

  7. #7
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich spinne ein wenig herum:
    Code:
    array
    a = {false,false,false...,false}
    dann
    while nicht alles true.
    in die while eine for
    for&#40;int i = 0; i<laenge; i++&#41;
    &#123;
    if&#40;a&#91;i&#93;&#41;
    &#123;
    cout << arrayname&#91;i&#93;;
    &#125;
    &#125;
    cout << "\n";
    bool b = true;
    i = 0;
    while&#40;b&#41;
    &#123;
    if&#40;a&#91;i&#93; == false&#41;
    &#123;
    a&#91;i&#93; = true;
    b = false;
    &#125;
    else
    &#123;
    a&#91;i&#93; = false;
    i++;
    &#125;
    &#125;
    &#125;
    &#125;
    So müsstes etwa gehen.

    Viele liebe Grüße
    The User

    EDIT: Permutationen sind die Verdrehungen, da gibts dann n! .

  8. #8
    King2
    Gast

    Standard

    Zitat Zitat von The User
    Ich spinne ein wenig herum:
    Code:
    array
    a = &#123;false,false,false...,false&#125;
    dann
    while nicht alles true.
    in die while eine for
    for&#40;int i = 0; i<laenge; i++&#41;
    &#123;
    if&#40;a&#91;i&#93;&#41;
    &#123;
    cout << arrayname&#91;i&#93;;
    &#125;
    &#125;
    cout << "\n";
    bool b = true;
    i = 0;
    while&#40;b&#41;
    &#123;
    if&#40;a&#91;i&#93; == false&#41;
    &#123;
    a&#91;i&#93; = true;
    b = false;
    &#125;
    else
    &#123;
    a&#91;i&#93; = false;
    i++;
    &#125;
    &#125;
    &#125;
    &#125;
    So müsstes etwa gehen.

    Viele liebe Grüße
    The User

    EDIT: Permutationen sind die Verdrehungen, da gibts dann n! .
    Perfekt user!!!!

    Habe es geschaft!!!!

    Danke

Ähnliche Themen

  1. Vertikal Scrolling "YES" Horizontal "NO"
    Von Lighzz im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 09.01.2007, 08:55
  2. Probleme mit "width" und "height"
    Von chris90night im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 14.10.2006, 20:59
  3. php: "bitte warten" oder "login läuft"
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 05.04.2006, 18:18
  4. Cliparts zu "Taufe" und "Fussball"?!
    Von Franzi im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 1
    Letzter Beitrag: 07.06.2004, 13:37
  5. Text immer "unten" und "rechts" am Frame
    Von Valdyn im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 25.05.2004, 19:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •