problem Random
-
hi
ich habe ein programm geschrieben bei dem man zwei zahlen einlesen soll, das minimum der random funktion und das maximum ....
allerding kommt manchmal ein größerer wert als das maximum heraus.

geschrieben hab ich das so:
srand( static_cast<unsigned> (time(NULL)) );
int Zufall = rand()%b + a;
-
int min, max; int r = (rand() % (max-min)) + min;
-
was spricht gegen
srand(time(0));
?
-
dädäaum schrieb:
int min, max; int r = (rand() % (max-min)) + min;mußte das nicht max-min+1 sein?
-
volkard schrieb:
dädäaum schrieb:
int min, max; int r = (rand() % (max-min)) + min;mußte das nicht max-min+1 sein?
Schon, aber ist das Maximum nicht üblicherweise eine exklusive Grenze?
-
dädäaum schrieb:
Schon, aber ist das Maximum nicht üblicherweise eine exklusive Grenze?
Ich denke nicht, dass da eine Konvention existiert, sodass man es als üblich erachten könnte. Bei Ranges beispielsweise (Iteratoren, Index) ist die obere Grenze normalerweise vom Wertebereich ausgeschlossen.
Kommt aber drauf an, ich würde auf jeden Fall einen Kommentar über die Funktion schreiben. Ich fände es hier auch intuitiver, wenn man einen Wert in [min, max] erhält, also inklusive Maximum.
-
danke jez funktionierts einwandfrei
