Zufallszahl mit genau 8 zahlen
-
ich meine das mein zufallsprogramm genau 8 zahlen rausgiebt
-
#include <ctime> #include <iostream> int main(){ srand(time(0)); for(int i=0; i<8; ++i) std::cout << rand() << std::endl; std::cin.get(); return 0; }was muss ich nun genau machen ?? <-- C++ Lernen
-
Ja dann mach halt 'ne Schleife oder, wenn Du das nicht hinkriegst, benutz copy and paste.
-
sry also er sollmir 8 ziffern rauswerfen nicht 8 reie.
eine reie mit 8 ziffern
-
Autsch.
-
sowas?
#include <stdio.h> #include <time.h> int main() { char s[9]; int i; srand (time(0)); for (i=0; i<8; i++) s[i] = '0' + rand()%10; s[8] = 0; printf ("%s\n", s); }
-
nur das das mal wieder äußerst wenig mit c++ zu tun hat ... und das ne ziemlich schlechte Lösung ist ...
#include <iostream> #include <ctime> int main() { std::cout << "Zufallszahlen(8-stellig)-Generator V1.0" << std::endl; srand(time(NULL)); std::cout << (1 + static_cast<int>(9999999.0 * rand() / (RAND_MAX + 1.0)) << std::endl; return 0; }Hab es allerdings jetzt nicht ausprobiert ... sollte aber funktionieren ...
-
(D)Evil schrieb:
... und das ne ziemlich schlechte Lösung ist ...
stimmt, deine ist besser, das hier
Zufallszahlen(8-stellig)-Generator V1.0überzeugt wirklich

-
Der macht Zahlen mit verschiedener Anzahl von Ziffern (rand() / (RAND_MAX + 1.0) kann ziemlich klein werden
). Also eher:#include <iostream> #include <ctime> int main() { std::cout << "Zufallszahlen(8-stellig)-Generator V1.0" << std::endl; srand(time(NULL)); std::cout << (10000000 + (static_cast<int>(99999999.0 * rand() / (RAND_MAX + 1.0))%90000000) ) << std::endl; return 0; }
-
ten schrieb:
sowas?
#include <stdio.h> #include <time.h> int main() { char s[9]; int i; srand (time(0)); for (i=0; i<8; i++) s[i] = '0' + rand()%10; s[8] = 0; printf ("%s\n", s); }Ja, und jetzt nochmal in C++?
/EDIT: Bäh, jetzt habens gleich fünf auf einmal bemerkt. Und ich war der letzte.
Hatte nicht gesehen, dass es schon eine zweite Seite gab. Asche auf mein Haupt.
-
Konrad Rudolph schrieb:
Ja, und jetzt nochmal in C++?
müsste auch so durch'n c++ compiler gehen...
-
#include <sstream> #include <time.h> int main (int argc, char* argv[]) { std::stringstream zahlen; srand(time(0)); for (int i = 0; i < 8; i++) zahlen << rand() % 10; std::cout << zahlen.str() << std::endl; return 0; }
-
Wirklich C++?
Nö.
'<ctime>'. 'std::srand'. 'std::rand', 'std::time'. Wozu übrigens der Stringstream?
-
Und das entspricht noch nicht mal der Aufgabenstellung

-
ten den cast von string in einen int musst du ihm noch hinschreiben xD
nagut: wenn du das suchst, dann findest du bei google einiges, z.b. atoi(); usw
-
Stelfer schrieb:
ten den cast von string in einen int musst du ihm noch hinschreiben xD
Da wird nichts gecastet (nur int nach char, implizit).