Love Calculator



  • srand((int)(name1[0]+name2[0]));
    int love_percentage = rand()%101;
    

    wobei name1 und name2 C-Strings mit einer Mindestlänge von 1 Zeichen sind. :p
    was ist daran schwer? 😉 um es realistischer zu gestalten könnte man vielleicht nicht nur die Anfangsbuchstaben zusammenzählen sondern alle.
    geloescht



  • geloescht: es muss doch immer die gleiche Prozentzahl ausgegeben werden, bei gleicher Eingabe.



  • ach wird es ja bei deinem beispiel!!!!! entschuldigung!!!!!!!



  • Ein möglicher Ansatz wäre ne Hashfunktion implementieren die für jeden Namen nen Wert von 0 bis 100 berechnet dann einfach Liebesquote = |h(Name1)-h(Name2)|. Interessant wäre wenn man dann gleiche Namen angibt also dann müsste eigentlich egal welcher Name immer 0 rauskommen ist aber bei diesem Kalkulator ist dies nicht der Fall... Gleiche Namen können da immer unterschiedlich miteinander. Dieser Fall könntest einfach umgehen indem einfach falls Name1 == Name2 die Liebesquote halt h(Name1) ist. Auch solltest noch den Fall beachten dass einer oder beide Namen gar nicht angegeben werden also h(0) sollte auch nen Wert ergeben.

    Wie die Hashfunktion berechnest ist dir überlassen. Die einfachste Methode die mir jetzt grade einfällt wär die einzelnen Buchstaben nach int casten alle zusammenzählen und dann modulo 100. Aber da kannst ja hübsch experimentieren.

    Wichtig ist halt dass Name1 mit Name2 das Gleiche ergibt wie Name2 mit Name1 und auch dass keine unterschiedlichen Werte immer rauskommen auch wenn man wieder die gleichen Namen verwendet sonst könntest gleich offensichtlich gleich rand nehmen.



  • dr. love schrieb:

    ach wird es ja bei deinem beispiel!!!!! entschuldigung!!!!!!!

    Ne rand verwendet die Zeit zur Ausgabe eines Zufallswertes.



  • aber weil er srand immer mit dem gleichen initialisiert (wenn die eingabe gleich ist), kommt auch immer der gleiche wert raus.



  • Ach das geht auch? 😃



  • ihr wisst doch srand kann man mit der systemzeit koppeln! dann hat sich der gleiche wert erledigt. aber wie wär es denn auf einen speicherbereich zuzugreifen, müsste der nicht auch zufällig sein?





  • Interessante geschichte... Die bytes im Speicher müssten eigentlich im Normalfall zufällige Werte drinn haben bzw wir würden in den meisten Fällen glaub ich keine Regel erkennen können. Trotzdem wird das ein oder das andere Mal sicher auf Speicher zugegriffen der in sich ändelt zb wenn man ein einfärbiges Bitmap oder so liest also wird nicht immer klappen. Auch mag man Speicherzugriffe normalerweise vermeiden.


Anmelden zum Antworten