Advertisement
avr39ripe

arrAscDescSort

Nov 19th, 2020 (edited)
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. void randomizeArr(int arr[], int arrSize, int minVal, int maxVal)
  5. {
  6.     for (int i{ 0 }; i < arrSize; ++i)
  7.     {
  8.         arr[i] = rand() % (maxVal - minVal) + minVal;
  9.     }
  10. }
  11.  
  12. void printArr(int arr[], int arrSize )
  13. {
  14.     for (int i{ 0 }; i < arrSize; ++i)
  15.     {
  16.         std::cout << arr[i] << ' ';
  17.     }
  18.     std::cout << '\n';
  19. }
  20.  
  21. void sortArr(int arr[], int arrSize, bool ascending = true )
  22. {
  23.     int tmp;
  24.     for (int head{ 0 }; head < arrSize; ++head)
  25.     {
  26.         for (int tail{ arrSize - 1 }; tail > head; --tail)
  27.         {
  28.             if ( (ascending and arr[tail] < arr[tail-1]) or (!ascending and arr[tail] > arr[tail-1]))
  29.             {
  30.                 tmp = arr[tail - 1];
  31.                 arr[tail - 1] = arr[tail];
  32.                 arr[tail] = tmp;
  33.             }
  34.         }
  35.     }
  36. }
  37.  
  38. int main()
  39. {
  40.     srand(time(0));
  41.  
  42.     const int minVal{ 0 };
  43.     const int maxVal{ 99 };
  44.  
  45.     const int arrSize{ 10 };
  46.     int arr[arrSize];
  47.  
  48.  
  49.     randomizeArr(arr,arrSize, minVal, maxVal);
  50.     std::cout << "Original:\t\t";
  51.     printArr(arr, arrSize);
  52.  
  53.     sortArr(arr, arrSize, false);
  54.     std::cout << "Sorted descending:\t";
  55.     printArr(arr, arrSize);
  56.  
  57.     sortArr(arr, arrSize, true);
  58.     std::cout << "Sorted ascending:\t";
  59.     printArr(arr, arrSize);
  60.  
  61.     return 0;
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement