Advertisement
palenda21

Lab11/12A

Apr 2nd, 2020
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void cocktail (int mass[], int n)
  5. {
  6.     int left = 1, right = n - 1, temp;
  7.     while (left < right)
  8.     {
  9.         for (int i = right; i > left - 1; i--)
  10.             if (mass[i - 1] > mass[i])
  11.             {
  12.                 temp = mass[i];
  13.                 mass[i] = mass[i - 1];
  14.                 mass[i - 1] = temp;
  15.             }
  16.             left++;
  17.         for (int i = left; i < right + 1; i++)
  18.             if (mass[i - 1] > mass[i])
  19.             {
  20.                 temp = mass[i];
  21.                 mass[i] = mass[i - 1];
  22.                 mass[i - 1] = temp;
  23.             }
  24.             right--;
  25.     }
  26. }
  27.  
  28.  
  29. int main()
  30. {
  31.     int n;
  32.     cout << "Vvedite razmer massiva: ";
  33.     cin >> n;
  34.     int* mass = new int[n];
  35.     cout << "Vvedite elementi massiva: ";
  36.     for (int i = 0; i < n; i++)
  37.     {
  38.         cin >> mass[i];
  39.     }
  40.     cocktail(mass, n);
  41.     cout << "Sorted massiv and key: ";
  42.     for (int i = 0; i < n; i++)
  43.     {
  44.         cout << mass[i] << " ";
  45.     }
  46.     cout << endl;
  47.     int x = 17, i = 0, j = n - 1, m;
  48.     while (i < j)
  49.     {
  50.         m = (i + j)/2;
  51.         if (x > mass[m])
  52.             i = m + 1;
  53.         else j = m;
  54.     }
  55.     if (mass[i] == x)
  56.      cout << "Key element: " << i << endl;
  57.     else
  58.     cout << endl << "Required element is absent" << endl;
  59.     delete[]mass;
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement