Advertisement
avr39ripe

PV024templatizeArrFunc

Nov 18th, 2020
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. template <typename T>
  5. T genRand(T minValue, T maxValue)
  6. {
  7.     return ((rand() % (maxValue - minValue)) + minValue);
  8. }
  9.  
  10. double genRand(double minValue, double maxValue)
  11. {
  12.     ///return ((rand() % (maxValue - minValue)) + minValue);
  13. }
  14.  
  15. template <typename T>
  16. void randomArr(T arr[], int arrSize, T minValue, T maxValue)
  17. {
  18.     for (int i{ 0 }; i < arrSize; ++i)
  19.     {
  20.         arr[i] = genRand(minValue, maxValue);
  21.     }
  22. };
  23.  
  24. template <typename T>
  25. void printArr(T arr[], int arrSize)
  26. {
  27.     for (int i{ 0 }; i < arrSize; ++i)
  28.     {
  29.         std::cout << arr[i] << ' ';
  30.     };
  31.     std::cout << '\n';
  32. }
  33.  
  34. template <typename T>
  35. void sortArr(T arr[], int arrSize, bool print = false)
  36. {
  37.     T tmp;
  38.  
  39.     if (print) { printArr(arr, arrSize); }
  40.    
  41.     for (int head{ 0 }; head < arrSize; ++head)
  42.     {
  43.         for (int tail{ arrSize - 1 }; tail > head; --tail)
  44.         {
  45.             if (arr[tail] < arr[tail - 1])
  46.             {
  47.                 tmp = arr[tail - 1];
  48.                 arr[tail - 1] = arr[tail];
  49.                 arr[tail] = tmp;
  50.             }
  51.         }
  52.     }
  53.     if (print) { printArr(arr, arrSize); }
  54. }
  55.  
  56. int main()
  57. {
  58.     const int minValue{ 0 };
  59.     const int maxValue{ 99 };
  60.     const int arrSize{ 10 };
  61.     int arr[arrSize]{ 6,1,4,2,8,9,11,3,2,1 };
  62.  
  63.     //int arr[arrSize]{ 1,2,3,4,5,6,7,8,9,10 };
  64.     //int arr[arrSize]{};
  65.  
  66.     //int arr[arrSize]{ 1,2,3,4,5,6,7,8,9,10 };
  67.  
  68.     //srand(time(0));
  69.  
  70.     randomArr(arr, arrSize, 0, 10);
  71.     //printArr(arr, arrSize);
  72.     sortArr(arr, arrSize);
  73.     printArr(arr, arrSize);
  74.  
  75.     randomArr(arr, arrSize, 50, 100);
  76.     //printArr(arr, arrSize);
  77.     sortArr(arr, arrSize, true);
  78.     //printArr(arr, arrSize);
  79.  
  80.    // printArr(arr, arrSize);
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement