Advertisement
vivienneanthony

Randomizer (Rand replacement)

Feb 24th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.31 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class RandomNumberGenerator
  6. {
  7. public:
  8.  
  9.     void SetRandomSeed(unsigned long long int seed);
  10.     int Rand();
  11.     int RandRange(unsigned long long int range);
  12.  
  13.     RandomNumberGenerator();
  14.     ~RandomNumberGenerator();
  15. private:
  16.     unsigned long long int randomSeed;
  17.  
  18. };
  19.  
  20.  
  21. RandomNumberGenerator::RandomNumberGenerator()
  22. {
  23.     /// blank
  24. }
  25.  
  26. RandomNumberGenerator::~RandomNumberGenerator()
  27. {
  28.     /// blank
  29. }
  30.  
  31. void RandomNumberGenerator::SetRandomSeed(unsigned long long int seed)
  32. {
  33.     randomSeed = seed;
  34.  
  35.     return;
  36. }
  37.  
  38. int RandomNumberGenerator:: Rand()
  39. {
  40.     randomSeed = randomSeed * 214013 + 2531011;
  41.  
  42.  
  43.     return (randomSeed >> 16) & 32767;
  44. }
  45.  
  46. int RandomNumberGenerator:: RandRange(unsigned long long int range)
  47. {
  48.     randomSeed = randomSeed * 214013 + 2531011;
  49.  
  50.  
  51.     long long int value=(randomSeed >> 16) & 32767;
  52.  
  53.     return (((value-0)*range)/32767)+0;
  54.  
  55. }
  56.  
  57.  
  58. int main()
  59. {
  60.  
  61.  
  62.     RandomNumberGenerator value;
  63.  
  64.     value.SetRandomSeed(1);
  65.  
  66.     for(int i=0; i<300; i++)
  67.     {
  68.         cout << " " << value.RandRange(400);
  69.     }
  70.  
  71.     return 1;
  72. }
  73.  
  74.  
  75. /*
  76.  0 225 77 323 234 191 140 358 329 298 69 343 284 205 121 5 36 145 58 66 395 178 47 1 3 151 212 228 240 242 66 265 180 140 22 243 313 321 207 120 350 290 382 370 215 56 184 94 344 83 311 337 398 399 244 156 106 118 336 9 150 37 270 22 3 367 110 109 235 276 335 290 193 82 297 187 183 379 297 43 239 154 294 243 228 144 60 90 170 321 206 395 300 138 67 262 196 25 279 201 58 379 56 362 277 121 170 28 386 273 61 350 328 232 76 71 326 190 62 201 292 162 111 227 272 302 288 190 49 147 333 14 206 265 170 41 379 368 219 138 188 149 338 126 182 108 393 119 295 226 78 304 335 159 200 356 10 397 229 20 212 77 337 250 263 79 336 49 43 297 125 376 114 134 56 293 333 283 240 298 101 57 0 24 322 341 84 46 221 5 45 181 300 274 217 29 174 80 278 116 174 92 231 213 251 64 201 385 278 369 75 134 71 398 182 399 39 250 37 175 372 19 357 116 90 307 164 80 251 241 180 186 239 253 341 331 249 288 226 150 73 295 222 362 97 75 241 279 233 140 197 32 296 244 248 276 321 59 230 347 364 245 291 17 267 390 126 227 122 69 43 347 340 297 61 130 31 30 256 328 218 179 163 119 186 200 61 129 295 125 330 383 349 290 120 377 50 26 313 209vivienne@vivienne-System-Product-Name:/media/home2/vivienne///testingc++$
  77. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement