Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Offene Fragen zum Betrieb von Samba

  1. #1
    Gast

    Unhappy Offene Fragen zum Betrieb von Samba

    Da ihr alle sofort auf meinen letzten Beitrag hilfreich geantwortet habt, ist hier nun ein weiteres Problem, das ich habe:
    ich weiß nicht, wie ich bei der Funktion rand() einen Maximalwert angeben kann, ohne in der Headerdatei stdlibs.h herumzueditieren. Eine Code wie

    do
    {
    x=rand();
    }
    while((x<=1)&#0124;&#0124;(x>=6))

    erziehlt zwar das gewünschte Ergebnis (Simulation eines Würfels), braucht aber unter Umständen bis zu einer halben Minute bis zufällig eine Zahl zwischen 1 und 6 herauskommt.

    Vielen Dank für eure Hilfe...Ulf

  2. #2
    Gast

    Post

    Hi!

    x = (int) ( (double)rand()
    / (double)RAND_MAX
    * 6.0 ) + 1

    Also Zufallszahl erzeugen, durch RAND_MAX teilen (aufpassen: double rechnen) -> liefert Wert zwischen 0.0 und 1.0.; dann mal 6 und plus 1.

    cu,
    Michael.

  3. #3
    Gast

    Question

    Warum kann man RAND_MAX nicht üner #define redifinieren - der Compiler akzeptiert dies zwar, beim ausführen ist davon jedoch nichts mehr zu spüren...

    Ulf

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.04.1999
    Ort
    Ulm
    Beiträge
    33

    Lightbulb

    Das mit den Headerfiles der C-Lib ist so eine Sache. Die *.h-Files sind nur dazu da um deinem Compiler zu sagen was eigentlich schon in kompilierter Form in den libs drinsteht. d.h. selbst wenn du irgendwelche #define-Werte änderst, so sind die noch lange nicht in der eigentlichen lib geändert. Dazu müsstest du die ganze libC neu kompilieren.

    Ich hoffe die Erklärung konnte dir helfen.

    Jimmy

  5. #5
    Gast

    Lightbulb

    Ja danke - ich denke ich kann mich damit abfinden, die "Divisionslösung" zu benutzen.

    Ulf

Lesezeichen

Berechtigungen

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