Ich wollte für ein kleines Spiel ein paar zufällige Zahlen initialisieren lassen:
int a = rand()%100 + 200;
ich kenn mich mit Zufallswerten nicht genau aus. Soweit ich weiß sollte hierbei eine zufällige Zahl zwischen 100 und 200 rauskommen...
Leider kommt bei mir immer das selbe bei raus. Kann mir da bitte einer helfen?
int a = rand()%100 + 200;
ich kenn mich mit Zufallswerten nicht genau aus. Soweit ich weiß sollte hierbei eine zufällige Zahl zwischen 100 und 200 rauskommen...
Leider kommt bei mir immer das selbe bei raus. Kann mir da bitte einer helfen?
Du musst voher noch den Zufallsgenerator "anschmeißen", beispielsweise mit:
srand(time(NULL));
THX, kannst du das Beispiel vielleicht ein wenig erweitern? Wie ich festelege, welche Zahlen vorkommen können, und welche Dateien dafür noch inkludiert werden müssen...
Soweit ich mich erinnere ist der Generator in stdlib.h. Den Zahlenbereich hast Du doch oben schon in Deinem Beispiel verwendet, allerdings sollte es int a = rand()%101 + 100; sein.
also irgendwo
srand(time(NULL));
...
und weiter unten dann
int a rand()%101 + 100;
?
Und je nachdem wie lange es von srand() braucht, ist auch die Zahl dann groß?
srand(time(NULL));
...
und weiter unten dann
int a rand()%101 + 100;
?
Und je nachdem wie lange es von srand() braucht, ist auch die Zahl dann groß?
Beides direkt untereinander. srand sorgt dafür, dass der Zufallsgenerator mit einer willkürlichen Zahl (in dem Fall die Zeit, seit dem Dein System läuft) initialisiert wird.
danke, werds testen...
funzt net:
expected constructor, destructor, or type conversion before '(' token
funzt net:
expected constructor, destructor, or type conversion before '(' token
Hab es mal eben mit DevC++ probier (da Du den ja hast?!):
So geht es bei mir.
#include <cstdlib>
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
int n;
srand(time(NULL));
n = rand() % 101 + 100;
cout << "Zufallszahl: " << n << "\n" << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
So geht es bei mir.
Es klappt. Das Fenster schließt sich zwar sofort wieder, aber man kurz erkennen, dass eine zufällige Zahl ersheint...Werd al mit rumexperimentieren.
Ach ja..ähm, muss int main nicht void zurückliefern?
Ach ja..ähm, muss int main nicht void zurückliefern?
Das Fenster sollte sich aber nicht schließen, dafür sorgt das System("PAUSE");. Kannst es ja mal in der Konsole aufrufen, also Win+R und dann cmd eingeben. Dort bleibt es ja sicher auf.
Im ANSI Standard muss es int sein.
Im ANSI Standard muss es int sein.
UKA, weißte mal was von Return 0 gehört?
Wette das hilft.
Denn wenn Return 0 an ist
wird das programm nicht geschlossen.
Musst du es eine taste drücken.
Sowas lernt man in ner ersten lexion ;)
Wette das hilft.
Denn wenn Return 0 an ist
wird das programm nicht geschlossen.
Musst du es eine taste drücken.
Sowas lernt man in ner ersten lexion ;)
return 0;
Logge dich ein um einen Beitrag zu schreiben.