Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- int n;
- bool isIncorrect;
- cout << "Данная программа предназначена для изменения данной последовательности так, чтобы в начале стояли все нулевые элементы, затем отрицательные, а затем положительные элементы последовательности." << endl;
- do
- {
- isIncorrect = false;
- cout << "Введите количество элементов в последовательности: ";
- cin >> n;
- if (cin.get() != '\n')
- {
- cin.clear();
- while (cin.get() != '\n');
- isIncorrect = true;
- cout << "Ошибка! Введите число." << endl;
- }
- if ((!isIncorrect) && (n < 1))
- {
- isIncorrect = true;
- cout << "Ошибка! Введите верное количество элементов." << endl;
- }
- }
- while (isIncorrect);
- int* arr = new int[n];
- int* zeros = new int[n];
- int* negatives = new int[n];
- int* positives = new int[n];
- int zeroIndex = 0;
- int negativeIndex = 0;
- int positiveIndex = 0;
- cout << "Введите элементы последовательности." << endl;
- for (int i = 0; i < n; ++i)
- {
- do
- {
- isIncorrect = false;
- cout << "Элемент " << i + 1 << ": ";
- cin >> arr[i];
- if (cin.get() != '\n')
- {
- cin.clear();
- while (cin.get() != '\n');
- isIncorrect = true;
- cout << "Ошибка. Введите целое число." << endl;
- }
- }
- while (isIncorrect);
- }
- if (arr[i] == 0)
- {
- zeros[zeroIndex] = arr[i];
- ++zeroIndex;
- }
- else if (arr[i] < 0)
- {
- negatives[negativeIndex] = arr[i];
- ++negativeIndex;
- }
- else
- {
- positives[positiveIndex] = arr[i];
- ++positiveIndex;
- }
- }
- for (int i = 0; i < zeroIndex; ++i)
- {
- arr[i] = zeros[i];
- }
- for (int i = 0; i < negativeIndex; ++i)
- {
- arr[i + zeroIndex] = negatives[i];
- }
- for (int i = 0; i < positiveIndex; ++i)
- {
- arr[i + zeroIndex + negativeIndex] = positives[i];
- }
- cout << "Отсортированная последовательность: ";
- for (int i = 0; i < n; ++i)
- {
- cout << arr[i] << " ";
- }
- delete[] arr;
- delete[] zeros;
- delete[] negatives;
- delete[] positives;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement