Advertisement
codegod313

Order4(1)

Nov 29th, 2019
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <locale.h>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. void quicksort(int *mas, int first, int last)
  8. {
  9.     int mid, count;
  10.     int f = first, l = last;
  11.     mid = mas[(f + l) / 2];
  12.     do
  13.     {
  14.         while (mas[f] < mid) f++;
  15.         while (mas[l] > mid) l--;
  16.         if (f <= l)    
  17.         {
  18.             count = mas[f];
  19.             mas[f] = mas[l];
  20.             mas[l] = count;
  21.             f++;
  22.             l--;
  23.         }
  24.     } while (f < l);
  25.     if (first < l) quicksort(mas, first, l);
  26.     if (f < last) quicksort(mas, f, last);
  27. }
  28.  
  29. int atoi(char *s, int l, int r) {
  30.     int mn = 1;
  31.     int ans = 0;
  32.     for (int i = r; i >= l; i--) {
  33.         ans += (s[i] - '0')*mn;
  34.         mn *= 10;
  35.     }
  36.     return ans;
  37. }
  38.  
  39. int main()
  40. {
  41.     setlocale(LC_ALL, "Russian");
  42.     char s[80];
  43.     int a[80];
  44.     int id = 0;
  45.     cout << "Введите строку" << endl;
  46.     gets_s(s);
  47.     system("CLS");
  48.     cout << "Введённая строка - " << s << endl;
  49.     int i = 0;
  50.     int l, r;
  51.     while (i < strlen(s)) {
  52.         l = i;
  53.         while (s[i] != ' ' && i < strlen(s)) i++;
  54.         r = i - 1;
  55.         a[id++] = atoi(s, l, r);
  56.         i++;
  57.     }
  58.     quicksort(a, 0, id - 1);
  59.     cout << "Отсортированные числа" << endl;
  60.     for (int i = 0; i < id; i++) {
  61.         cout << a[i] << " ";
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement