Vla_DOS

lr10

Jun 13th, 2022 (edited)
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <time.h>
  4. #include <chrono>
  5. #include <fstream>
  6. #include <sstream>
  7. #include <algorithm>
  8. #include <string>
  9.  
  10. using namespace std;
  11.  
  12. void quickSort(int arr[], int left, int right) {
  13.     int i = left, j = right;
  14.     int tmp;
  15.     int pivot = arr[(left + right) / 2];
  16.     while (i <= j) {
  17.         while (arr[i] < pivot)
  18.             i++;
  19.         while (arr[j] > pivot)
  20.             j--;
  21.         if (i <= j) {
  22.             tmp = arr[i];
  23.             arr[i] = arr[j];
  24.             arr[j] = tmp;
  25.             i++;
  26.             j--;
  27.         }
  28.     };
  29.     if (left < j)
  30.         quickSort(arr, left, j);
  31.     if (i < right)
  32.         quickSort(arr, i, right);
  33. }
  34.  
  35. int main() {
  36.     setlocale(LC_CTYPE, "");
  37.     int num;
  38.     cout << "Кiлькiсть елементiв: ";
  39.     cin >> num;
  40.     int* mass = new int[num];
  41.     for (int i = 0; i < num; i++) {
  42.         mass[i] = rand() % 27 - 10;
  43.         cout << mass[i] << "\t";
  44.     }
  45.     int* arr = new int[num];
  46.  
  47.     double max = 0, min = 0;
  48.     int max_i, min_i;
  49.     for (int i = 0; i < num; i++)
  50.     {
  51.         if (mass[i] > max)
  52.         {
  53.             max = mass[i];
  54.             max_i = i;
  55.         }
  56.     }
  57.     for (int i = 0; i < num; i++)
  58.     {
  59.         if (mass[i] < min)
  60.         {
  61.             min = mass[i];
  62.             min_i = i;
  63.         }
  64.     }
  65.     cout << endl;
  66.     int index = 0;
  67.  
  68.     for (int i = std::min(max_i, min_i); i < std::max(max_i, min_i); ++i)
  69.     {
  70.         arr[index] = mass[i];
  71.         index++;
  72.     }
  73.  
  74.     cout << "\nВiдсортований масив:" << endl;
  75.     quickSort(arr, 0, index - 1);
  76.  
  77.     for (int i = 1; i < index; i++) {
  78.         cout << arr[i] << "\t";
  79.     }
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment