Zufallszahl mit genau 8 zahlen



  • 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).


Anmelden zum Antworten