Potenzmenge via Nachfolgerfunktion



  • Hallo ,

    Ich habe folgende Aufgabe zu erledigen, komme aber auf keinen grünen Zweig, vllt könnt ihr mit helfen !

    Erzeugung aller k-elementigen Teilmengen einer Menge mit Umfang m;

    Um diese systematisch zu erzeugen, bedient man sich einer sogn. Nachfolgerfunktion,
    d. h. ist M = {x1, . . . , xm}, so ist die erste Menge festgelegt durch {x1, . . . , xk}.
    Der Nachfolger dieser Menge ist {x1, . . . , xk−1, xk+1}. Die letzte Menge schließlich ist
    {xm−k+1, . . . , xm}.
    Die Funktionalität von „nachfolger“ sei wie folgt festgelegt:

    Int_Menge nachfolger(Int_Menge Mi, Int_Menge M, unsigned k);

    Zur Verfügung stehen Mengenoperationen, implementiert via Bitoperationen
    mit der Klasse Int_menge !

    4. Zugriffsfunktionen (i-tes Element, „[ ]“-Operator!): x = A[i],mit i ∈ {1, . . . ,m}.

    5. Index eines Elementes („( )“-Operator!): i = A(x), wobei für |A| = m gilt
    i ∈ {1, . . . ,m}.

    6. „arithmetische“ Operatoren:
    ⋄ „M1 * M2“ = M1 ∩ M2, //Durchschnitt
    ⋄ „M1 + M2“ = M1 ∪ M2, //Vereinigung
    ⋄ „M1 − M2“ = M1\M2. // "ohne"
    ⋄ Für die beiden Operatoren „+“ und „−“ bieten sich auch an:
    „M+i“ = M∪ {i}, „i + M“ = {i} ∪ M sowie „M−i“ = M\{i}

    7. Zuweisungsoperator (assignment): A = B.

    8. logische Operatoren: A == B, A! = B, „A <= B“ = A ⊆ B, isempty(A)

    9. Ein- und Ausgabeoperatoren: cout << A, cin >> A (inclusive der Grunsmenge
    G).

    10. Überladen Sie den bitweisen NOT-Operator „~“, um das Komplement eines
    Objektes aus der Int_Menge-Klasse zurückzugeben: „~A“ = AG.
    (Beachten Sie: „~“ ist ein unärer Operator, das Komplement ist in Bezug auf
    G zu bilden!)

    11. Überladen Sie den NOT-Operator „!“, um die Kardinalität eines Objektes
    der Int_Menge-Klasse zurückzugeben, d. h.: „!M“ = |M|.
    (Beachten Sie: „!“ ist ein unärer Operator).

    Ich brauche eigentlich nur eine ungefähre Richtung, den Rest erledige ich dann, sofern dies in meiner Macht steht

    Vielen Dank !



  • Vielleicht kannst du Writing a Recursive Power Set Function in Scheme auf C++ uebertragen. Was du mit Nachfolger der Menge meinst, ist mir dennoch unklar.


Anmelden zum Antworten