-
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)||(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
-
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.
-
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
-
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
-
Ja danke - ich denke ich kann mich damit abfinden, die "Divisionslösung" zu benutzen.
Ulf
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen