Вопрос задан 05.07.2023 в 06:55. Предмет Информатика. Спрашивает Датченко Данил.

Сделать так чтобы элементы массива меньше 0 были в одной части массива, больше 0 в другой Пример:

Исходный массив: 4 -3 -2 -6 7 9 -8 6 Ответ: 4 6 7 9 | -6 -3 -2 -8 С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ветров Дмитрий.

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

bool cmp(int a, int b)

{

return a > b ? 1 : 0;

}

int main()

{

int n;

cin >> n;

vector <int> a(n);

for(int i = 0; i < n; ++i)

 cin >> a[i];

sort(a.begin(), a.end(), cmp);

for(int i = 0; i < n; ++i)

 cout << a[i] << " ";

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для разделения элементов массива на две части в соответствии с условием, вы можете использовать алгоритм сортировки "partition" (разделение) из стандартной библиотеки C++. Вот как это можно сделать:

cpp
#include <iostream> #include <algorithm> #include <vector> int main() { std::vector<int> array = {4, -3, -2, -6, 7, 9, -8, 6}; // Функция partition разделяет массив так, чтобы все элементы меньше 0 оказались перед всеми элементами больше 0. auto partitionPoint = std::partition(array.begin(), array.end(), [](int num) { return num < 0; }); // Вывод разделенного массива. std::cout << "Исходный массив: "; for (const int& num : array) { std::cout << num << " "; } std::cout << "\nОтвет: "; for (auto it = array.begin(); it != partitionPoint; ++it) { std::cout << *it << " "; } std::cout << "| "; for (auto it = partitionPoint; it != array.end(); ++it) { std::cout << *it << " "; } return 0; }

Этот код сначала использует функцию std::partition для разделения массива на две части: одна с элементами меньше 0 и другая с элементами больше или равными 0. Затем он выводит исходный массив и разделенный массив, разделяя элементы символом |.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос