Geburtstagsparadoxon



  • Hallo an Alle!!!Sorry,dass ich mit so eine Frage kurz vor dem Silvester mich an Euch wende...Ich versuche eine Klausur zu lösen aber hab ein Problem.
    Aufgabenstellung:
    Sie sollen das "Geburtstagsparadoxon" aus der Wahrscheinlichkeitsrechnung durch eine Simulation über-prüfen. Hierbei wird untersucht, wieviele Personen in einer Gruppe sein müssen, damit die Wahrscheinlich-keit dafür, dass es zwei Personen in dieser Gruppe gibt, die am selben Tag Geburtstag haben, größer als 50% ist. Erstaunlicherweise ist dies schon für relativ kleine Gruppen der Fall (daher die Bezeichnung "Ge-burtstagsparadoxon").

    Besonderheiten der Methoden sind:
    • Der Standardkonstruktor von Date soll das erzeugte Objekt auf ein zufälliges Datum setzen, wie un-ter setRandomDate beschrieben.
    • setRandomDate soll die Datenelemente dayInYear und year unter den folgenden Randbedingun-gen setzen: dayInYear soll auf zufällige Weise so gesetzt werden, dass jeder der 365 Tage eines Jahres (Schaltjahre werden nicht berücksichtigt) mit der gleichen Wahrscheinlichkeit auftritt. Der Wert für year soll zufällig und gleichverteilt aus dem Bereich 1950 bis 2007 (jeweils einschließlich) genommen werden.
    • getDayInMonth und getMonth sollen den im Datenelement dayInYear gespeicherten Tag in der üblichen Form ‚Tag im Monat’ bzw. ‚Monat’ zurückgeben. Hat dayInYear also z.B. den Wert 35, gibt getDayInMonth den Wert 4 und getMonth den Wert 2 zurück.

    Meine Frage ist wegen:
    getDayInMonth und getMonth sollen den im Datenelement dayInYear gespeicherten Tag in der üblichen Form ‚Tag im Monat’ bzw. ‚Monat’ zurückgeben. Hat dayInYear also z.B. den Wert 35, gibt getDayInMonth den Wert 4 und getMonth den Wert 2 zurück.
    was ist damit gemeint?wie kann ich aus 35 4 und 2 kriegen?
    Helfen sie mir bitte!!!
    Danke



  • Eine Liste mit Tagen pro Monat und dann durchgehen, zählen und subtrahieren.

    Die offiziellen Silvester smilies:
    Feuer und Flamme, Schall und Rauch | ISBN: 3527322760 Chemisches Feuerwerk | ISBN: 3761423748



  • der 35. tag im jahr ist der 4. februar, also der 4.2. und schwupp da hast du deine 4 und 2 aus den 35, wie gesagt, zählen und subtrahieren



  • int counter=1;
    int p=dayInYear;
    int r=p-31;
    while(r<31)
    {
    p=r;
    r=p-31;
    counter++;

    }cout<<"ist"<<r<<"counter"<<counter<<endl;

    ich habe so mit dem getMonth angefangenaber der substrahiert mit nut einmal.was mache ich falsch?



  • Nicht jeder Monat hat 31 Tage.



  • (Schaltjahre werden nicht berücksichtigt):-)



  • du solltest dir im klaren darüber werden, dass das ganze nicht unser sondern dein problem ist. demnach wirst du hier keine fertige lösung bekommen

    poste selbst eine lösung und wir zeigen dir fehler oder verbesserungen



  • juri2 schrieb:

    (Schaltjahre werden nicht berücksichtigt):-)

    Schau dir mal einen Kalender an.


Anmelden zum Antworten