Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.49 KB | None | 0 0
  1. #include "Generator_ACG.h"
  2. #include "Generator_LCG.h"
  3.  
  4. #include <math.h>
  5. #include <iostream>
  6.  
  7. int* Generate_ACG (int numberOfNumbers, int maxNumber)
  8. {
  9.     int* numbersArray = Generate(numberOfNumbers, maxNumber);
  10.     int* newArray = new int [numberOfNumbers];
  11.    
  12.     int* myPair = FindPair(numberOfNumbers);
  13.    
  14.     for (int i = 0; i < numberOfNumbers; i++)
  15.     {
  16.         numbersArray[myPair[1]] = fmod((numbersArray[myPair[0]] + numbersArray[myPair[1]]), maxNumber);
  17.        
  18.         newArray[i] = numbersArray[myPair[1]];
  19.         myPair[0]--;
  20.         myPair[1]--;
  21.        
  22.         if(myPair[1] == 1)
  23.         {
  24.             myPair[1] = maxNumber;
  25.         }
  26.         else if (myPair[0] == 0)
  27.         {
  28.             myPair[0] = 0;
  29.         }
  30.     }
  31.    
  32.     return numbersArray;
  33. }
  34.  
  35. int* FindPair (int length)
  36. {
  37.     int* myPair = new int [2];
  38.     int iterator = 0;
  39.     int maxDistance = 0;
  40.     int maxIndex = 0;
  41.    
  42.     int pairs_x[] = {1,1,1,2,1,1,3,4,3,2,1,4,7,3,5,6,7,3,2,1,5,9,3,7,3,9,13,2,3,6,7,13,13,2,11,4,8,14,3,20,5,14,20,21,9,12,15,22,3,19,21,24,7,22,19,1,11,1,5,31,18,32,9,33,6,9,18,20,35,25,28,31,9,19,4,16,35,13,13,38,2,21,11,17,6,12,33,34,11,27 };
  43.     int pairs_y[] = {2,3,4,5,6,7,7,9,10,11,15,15,15,17,17,17,18,20,21,22,23,23,25,25,28,28,28,29,31,31,31,31,33,35,36,39,39,39,41,41,47,47,47,47,49,49,49,49,52,52,52,55,57,57,58,60,60,63,63,63,65,65,68,68,71,71,71,71,71,73,73,73,79,79,81,81,81,84,87,89,93,94,95,95,97,97,97,97,98,98 };
  44.    
  45.     while (pairs_y[iterator] < length)
  46.     {
  47.         if(pairs_y[iterator]-pairs_x[iterator] > maxDistance)
  48.         {
  49.             maxDistance = pairs_y[iterator]-pairs_x[iterator];
  50.             maxIndex = iterator;
  51.         }
  52.        
  53.         iterator++;
  54.     }
  55.    
  56.     myPair[0] = pairs_x[maxIndex];
  57.     myPair[1] = pairs_y[maxIndex];
  58.    
  59.     return myPair;
  60. }
  61. ---------------------------------
  62. #include "Generator_Shuffle.h"
  63. #include "Generator_LCG.h"
  64.  
  65. #include <iostream>
  66.  
  67. int* Generate_Shuffle (int numberOfNumbers, int maxNumber)
  68. {
  69.     int* numbersArray = Generate(numberOfNumbers, maxNumber);
  70.     int randomIndex_1, randomIndex_2, temp;
  71.    
  72.     for(int i = 0; i < (3 * numberOfNumbers); i++) //3n
  73.     {
  74.         randomIndex_1 = SeedGenerator(numberOfNumbers);
  75.         randomIndex_2 = SeedGenerator(numberOfNumbers);
  76.        
  77.         temp = numbersArray[randomIndex_1];
  78.         numbersArray[randomIndex_1] = numbersArray[randomIndex_2];
  79.         numbersArray[randomIndex_2] = temp;
  80.     }
  81.    
  82.     return numbersArray;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement