STANAANDREY

tema21/1/2020

Jan 21st, 2020
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. #define NMAX 100
  5. int n, a[NMAX];
  6.  
  7. void citire(int& n, int a[])
  8. {
  9.     cin >> n;
  10.     for (int i = 0; i < n; i++)
  11.         cin >> a[i];
  12. }
  13.  
  14. int cmp(int a, int b, char cmpOp)
  15. {
  16.     if (cmpOp == '<')
  17.         return a <= b;
  18.     return a >= b;
  19. }
  20.  
  21. void sortare(int a[], int p1, int p2, char cmpOp)
  22. {
  23.     int sortat = 0;
  24.     while (!sortat)
  25.     {
  26.         sortat = 1;
  27.         for (int i = p1; i < p2; i++)
  28.             if (!cmp(a[i], a[i + 1], cmpOp))
  29.             {
  30.                 swap(a[i], a[i + 1]);
  31.                 sortat = 0;
  32.             }
  33.     }
  34. }
  35.  
  36. void scrie(int n, int a[])
  37. {
  38.     for (int i = 0; i < n; i++)
  39.         cout << a[i] << ' ';
  40. }
  41.  
  42. int main()
  43. {
  44.     citire(n, a);
  45.     sortare(a, 0, n / 2 - 1, '<');
  46.     sortare(a, n / 2, n - 1, '>');
  47.     scrie(n, a);
  48.     return 0;
  49. }
Add Comment
Please, Sign In to add comment