Zufallszahlen
-
Hi,
ICh bin noch ein totaler Newbie, und wollte mich an Könner wenden
Also, ich will einer Zahl ein Zufalls wert im Bereich von 1-50 zuweisen. Jetzt weis ich aber net wies gehtIm I-Net hab ich schon gesucht, und nur was für C gefunden, aber was bei C++ ja nicht funktioniert. Zumindest bei mir net.
ICh hoffe ihr könnt mir helfen.Ciao,
ChristopherPS: Suchfunktion hätte ich ja gerne verwendet, aber geht ja net
-
Christopher_2 schrieb:
Hi,
ICh bin noch ein totaler Newbie, und wollte mich an Könner wenden
Also, ich will einer Zahl ein Zufalls wert im Bereich von 1-50 zuweisen. Jetzt weis ich aber net wies gehtIm I-Net hab ich schon gesucht, und nur was für C gefunden, aber was bei C++ ja nicht funktioniert. Zumindest bei mir net.
ICh hoffe ihr könnt mir helfen.Ciao,
ChristopherPS: Suchfunktion hätte ich ja gerne verwendet, aber geht ja net
hast du zufällig
#include <stdlib.h> ... x=rand()%49+1;
gefunden?
unter umständen kann dein c++-compiler die alte .h nicht. dann gehts so:
#include <cstdlib> using namespace std; ... x=rand()%49+1;
-
Die generelle Formel daz lautet:
int Zufallszahl=rand ()%(Maximum-Minimum)+Minimum;
-
Hi,
Danke, das funktioniert
Ciao,
Christopher
-
randa schrieb:
Die generelle Formel daz lautet:
int Zufallszahl=rand ()%(Maximum-Minimum)+Minimum;
wobei mit Maximum die erste zahl gemeint ist, die nicht mehr als ausgabe möglich ist.
daher produziert mein code auch nur die zahlen von 1 bis 49. hab wohl vorauseilend deine formel genommen und nicht dabei überlegt, was wirklich rauskomen soll.
-
und vergiss bitte nicht srand sonst gibts immer die gleichen zahlen
#include <time.h> .... long sek; time(&sek); srand((unsigned long) sek); ....
burnner
-
Oh, ich habe mich schon gewundert, warum das immer die selben ZAhlen sind
-
wie ist denn jetzt die syntax von srand?
-
#include <cstdlib> void srand(unsigned long);
-
hab ich oben ja schon geschrieben und da wird er auch gleich mit der zeit eingestellt..
-
es geht doch aber auch mit:
srand(time(NULL));
wo ist denn nun der Unterschied zu dem mit &sek?
-
@leech:
die Version mit &sek ist umständlicher als deine da hier auch mehr Zeit benötigt wird um die Variable zu deklarieren und zu definieren, worauf man eigentlich verzichten kann.
-
@volkard: stimmt, es müsste heißen
rand()%(Maximum-Minimum+1)+Minimum