Advertisement
believe_me

Untitled

Nov 7th, 2021
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4.  
  5. int inputNumber()
  6. {
  7.     int n;
  8.     std::cin >> n;
  9.     return n;
  10. }
  11.  
  12. int* inputArray(int* array, int number)
  13. {
  14.     for (int i = 0; i < number; i++)
  15.     {
  16.         std::cin >> array[i];
  17.     }
  18.     return array;
  19. }
  20.  
  21. void output(int* res, int number)
  22. {
  23.     for (int i = 0; i < number; i++)
  24.     {
  25.         std::cout << res[i];
  26.     }
  27. }
  28.  
  29. int* splitNumber(int* array, int* index)
  30. {
  31.     int number = 0;
  32.     int i = index[0];
  33.     int n = index[1];
  34.     while (array[i] < array[i + 1])
  35.     {
  36.         i++;
  37.         number++;
  38.     }
  39.     index[0] = i;
  40.     index[1] = n;
  41.     return index;
  42. }
  43.  
  44. int* splitArray(int* array,int* index)
  45. {
  46.     int* sort = new int[];
  47.     int i, n;
  48.     i = index[0];
  49.     n = index[1];
  50.     for (i; i < i+n; i++)
  51.         sort[i] = array[i];
  52.     return sort;
  53. }
  54.  
  55.  
  56. int* sort(int* sort1, int* sort2, int* res, int* index1, int* index2) {
  57.     int j, i, no;
  58.     if (index1[1] > index2[1])
  59.     {
  60.         no = index1[1];
  61.         for (int count = )
  62.     }
  63.     else
  64.     {
  65.         no = index2[2];
  66.     }
  67.     for (i; i <  i + index1[1] + index2[1]; i++) {
  68.         if (sort1[i] < sort2[i])
  69.             res[i] = sort1[i];
  70.         else
  71.             j = i;
  72.             do {
  73.                 res[j] = sort2[j];
  74.                 j++;
  75.             } while (res[j] > sort2[j]);
  76.            
  77.     }
  78.  
  79. }
  80.  
  81. int* sorted(int* res, int* array, int number)
  82. {
  83.     int* index1 = new int[2];
  84.     int* index2 = new int[2];
  85.     int counter;
  86.     do {
  87.         index1 = splitNumber(array, index1);
  88.         int* sort1 = splitArray(array, index1);
  89.         index2 = splitNumber(array, index2);
  90.         int* sort2 = splitArray(array, index2);
  91.         res = sort(sort1, sort2, res, index1, index2);
  92.         counter = index1[0] + index1[1] + index2[1];
  93.     } while (counter < number);
  94.     return res;
  95. }
  96.  
  97. int main() {
  98.     setlocale(LC_ALL, "Russian");
  99.     int* sort = new int[];
  100.     int number = inputNumber();
  101.     int* array = new int[number];
  102.     array = inputArray(array, number);
  103.     int* res = new int[number];
  104.     res = sorted(res, array, number);
  105.     output(res, number);
  106.     return 0;
  107. }
  108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement