Advertisement
gguuppyy

лаба2н1(изм)

Oct 16th, 2023 (edited)
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.39 KB | Source Code | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     int n;
  7.     bool isIncorrect;
  8.     int current, temp;
  9.  
  10.     cout << "Данная программа предназначена для изменения данной последовательности так, чтобы в начале стояли все нулевые элементы, затем отрицательные, а затем положительные элементы последовательности." << endl;
  11.  
  12.     do
  13.     {
  14.         isIncorrect = false;
  15.         cout << "Введите количество элементов в последовательности: ";
  16.         cin >> n;
  17.         if (cin.get() != '\n')
  18.         {
  19.             cin.clear();
  20.             while (cin.get() != '\n');
  21.             isIncorrect = true;
  22.             cout << "Ошибка! Введите число." << endl;
  23.         }
  24.         if ((!isIncorrect) && (n < 1))
  25.         {
  26.             isIncorrect = true;
  27.             cout << "Ошибка! Введите верное количество элементов." << endl;
  28.         }
  29.     } while (isIncorrect);
  30.    
  31.     int* arr = new int[n];
  32.  
  33.     cout << "Введите элементы последовательности." << endl;
  34.     for (int i = 0; i < n; ++i)
  35.     {
  36.         do
  37.         {
  38.             isIncorrect = false;
  39.             cout << "Элемент " << i + 1 << ": ";
  40.             cin >> arr[i];
  41.             if (cin.get() != '\n')
  42.             {
  43.                 cin.clear();
  44.                 while (cin.get() != '\n');
  45.                 isIncorrect = true;
  46.                 cout << "Ошибка. Введите целое число." << endl;
  47.             }
  48.         } while (isIncorrect);
  49.     }
  50.     current = 0;
  51.  
  52.     for (int i = 0; i < n; ++i)
  53.     {
  54.         if (arr[i] == 0)
  55.         {
  56.             temp = arr[current];
  57.             arr[current] = arr[i];
  58.             arr[i] = temp;
  59.             current++;
  60.         }
  61.     }
  62.  
  63.     for (int i = current; i < n; ++i)
  64.     {
  65.         if (arr[i] < 0)
  66.         {
  67.             temp = arr[current];
  68.             arr[current] = arr[i];
  69.             arr[i] = temp;
  70.             current++;
  71.         }
  72.     }
  73.    
  74.     cout << "Отсортированная последовательность: ";
  75.     for (int i = 0; i < n; ++i)
  76.     {
  77.         cout << arr[i] << " ";
  78.     }
  79.  
  80.     delete[] arr;
  81.  
  82.     return 0;
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement