Zahlenbereiche abbilden auf andere Zahlenbereiche



  • Danke.

    Habs mal durchgespielt.

    Ja mit Z mod Q geht es.

    Natürlich ist die Wirkung des Zuff-Gen verändert,
    da eben die generierte Zahl nicht unbedingt der endgültigen
    entspricht, aber das nehme ich in Kauf, da der Zuff-Gen
    funktioniert bis einschl. Q = Z(max) wegen der
    linearen Zuordnung und danach (Q = Z(max)+1) eben nicht mehr.

    Ich sehe auch keine andere Lösung,
    da z. B. mein Zuff-Gen als z. B. Einstellige Zahl, die immer
    0 - 9 ist, liefert und einer der nötigen Zielbereiche 1 - 6 ist.

    Gut man könnte ihn wiederholen bis er 1 - 6 ausspuckt, aber
    das will ich nicht.



  • Generier doch einfach den größtmöglichen Bereich (den Wertebereich deines Ausgabetyps). Damit fallen die Unterschiede nicht mehr ins Gewicht.

    Mit deiner Zuordnung kann nicht mehr von Zufall gesprochen werden, da die Wahrscheinlichkeit für 1-3 doppelt so hoch ist wie die für 4-6. Die Wirkung ist nicht nur verändert, sie ist hinüber.



  • Das wäre theor. möglich, aber:

    Mein Ausgabetyp ist int.

    Wenn ich nun einen Wert bis int(max) generiere würde das
    wahrscheinlich die sinnvolle Funktionalität meines
    Zufallsgenerators übersteigen, da dieser "echte" Zufallswerte
    nur im 1 bis 3 -stelligen Bereich liefert, also allerhöchtens bis 999.
    Darauf ist er ausgelegt.

    Möglichkeit:
    Na denn muss ich eben Q = zweistellig wählen (evtl. begrenzen)
    und dann umverteilen oder so.

    Aber wie gesagt, dass der Generator kaputt ist durch die Abbildung
    sehe ich nicht so. außerdem könnte man ja q noch beeinflussen
    im vorwege
    wenn q > z dann q z. B. +1 oder so.
    Möglicherweise spielt das Übergewicht bei Z von 1 bis 3 sogar in die Hände.

    Außerdem ist ja nicht nur Z 1-6 gefragt.

    Wie auch immer, wenn es andere Lösungen gibt, immer her damit.

    wichtig ist nur, dass mein Zuff-Gen erhalten bleibt.



  • Jetzt muss mir nur noch jemand erklären, warum die zuerst vorgeschlagenen Algorithmen nicht funktionieren und man das alles so kompliziert machen muss 🙄



  • iceborg01 schrieb:

    [...] da dieser [Zufallsgenerator] "echte" Zufallswerte
    nur im 1 bis 3 -stelligen Bereich liefert, also allerhöchtens bis 999.

    Darf den von dir Implementierten Zufallsgenerator aus bloßer Neugier 'mal sehen?

    Greetz, Swordfish



  • @ Michael: weil ich vorhin schon schrieb, dass die anderen Algos nicht
    linear sind und für z. B. q = 2 z = 3 liefern u. ä.

    @ Swordfish: Ich kann und will meinen Zuff-Gen noch nicht herausgeben.
    (Später gerne)
    Er ist nocht nicht implementiert, sondern existiert bisher
    nur auf dem Papier.
    Was viel wichtiger als später das implementieren ist:
    Er ist in umfangreichen Kalk-Tabellen
    durchgespielt worden, um zu sehen, ob er Sinn macht.

    Ich sag mal soviel: Er basiert auf timer und rand/srand
    und im weiteren Rechenverlauf auf sqrt und den Winkelfunkt.
    eines bel. Dreiecks, wenn p,q,h bekannt sind und man in Richtung
    einiger Teile von alpha,beta,gamma rechnet.

    Da ich gerade mit c++ erst anfange und für dieses Hobby nur wenig zeit habe,
    wirds wohl noch dauern.



  • Also wenn du mit Winkelfunktionen rumspielst, dann sollte das Teil dann aber auch double zurückliefern. Ich bezweifle doch stark, dass du damit Ganzzahlen herausbekommst. Dann erübrigt sich der Modulo-Unsinn, da Modulo für Fließkommazahlen nicht definiert ist.



  • Ja das ist richtig.

    Die winkel werden wohl double werden, aber das sind
    ja nicht die endgültigen Zahlen, sondern nur Teile davon,
    die dann letztenendes int sein können.

    **
    So ich muss mich jetzt vorerst verabschieden.
    Wie gesagt, für dieses Hobby bleibt leider nur wenig zeit.
    Bis hoffentlich zum nächsten mal.**



  • Swordfish schrieb:

    Du musst denken beim Programmieren.

    Also die Aussage lob ich mir doch mal...

    Vllt. sollte es im 'Info-Thread' des C++-SubFoums heißen:

    [...]Bevor ihr ein neues Thema startet, benutzt bitte die Suchfunktion, werft einen Blick in die FAQs und denkt!.

    Das scheinen einige zu vergessen 😃 .



  • iceborg01 schrieb:

    @ Michael: weil ich vorhin schon schrieb, dass die anderen Algos nicht
    linear sind und für z. B. q = 2 z = 3 liefern u. ä.

    Und?


Anmelden zum Antworten