Source of rand.cpp


  1: // Filename: RAND.CPP
  2: // Purpose:  Illustrates the system random number generator.

  4: #include <iostream>
  5: #include <cstdlib>
  6: #include <ctime>
  7: using namespace std;

  9: #include "PAUSE.H"

 11: int main()
 12: {
 13:     cout << "\nThis program illustrates three system "
 14:          << "\"utility\" functions that are available "  << endl
 15:          << "from the standard libaries: clock(), "
 16:          << "rand() and srand() "                        << endl << endl;
 17:     Pause(0);

 19:     cout << "\nThe clock() function from the <ctime> "
 20:          << "library returns the number of CPU "     << endl
 21:          << "\"clock ticks\" since your process "
 22:          << "started running. "                      << endl;
 23:     cout << "Current value of clock(): " << clock()  << endl;
 24:     Pause(0);

 26:     cout << "\nRAND_MAX is a named constant from <cstdlib>." << endl;
 27:     cout << "It is the largest possible return value "
 28:          << "from a call to the rand() function. "           << endl;
 29:     cout << "Value of RAND_MAX on this system: " << RAND_MAX << endl;
 30:     Pause(0);

 32:     // Run this program three times.  Then un-comment the function call given
 33:     // below and run it three more times.  Be sure you understand that (even
 34:     // if not how) the function "resets" the system "random number generator".
 35:     // srand(clock());

 37:     int i;
 38:     cout << "\nHere are 10 \"random\" integer values "
 39:          << "in the range 0.." << RAND_MAX << ": "    << endl;
 40:     for (i = 1; i <= 10; i++)
 41:         cout << rand() << endl;
 42:     Pause(0);

 44:     int first, second;
 45:     cout << "\nEnter two positive integers, with "
 46:          << "the second larger than the first: ";
 47:     cin >> first >> second;  cin.ignore(80, '\n');  cout << endl;
 48:     cout << "Here are 10 random integer values between "
 49:          << first << " and " << second << ": "           << endl;
 50:     for (i = 1; i <= 10; i++)
 51:         cout << first + rand() % (second - first + 1)    << endl;
 52:     cout << endl;

 54:     return 0;
 55: }