В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
yliya302
yliya302
28.05.2023 13:53 •  Информатика

Сделать так чтобы элементы массива меньше 0 были в одной части массива, больше 0 в другой Пример: Исходный массив: 4 -3 -2 -6 7 9 -8 6 ответ: 4 6 7 9 | -6 -3 -2 -8 С++

Ответ:
lukynova20
lukynova20
19.08.2020 06:18

#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(0 оценок)
Ответ:
Zufar1618
Zufar1618
19.08.2020 06:18

#include <iostream>

using std::cin;

using std::cout;

int main(int argc, char const* argv[]) {

int n;

cout << "Enter size of array:\n";

cin >> n;

int *mas1 = new int[n];

int *mas2 = new int[n];

cout << "Enter elements of array:\n";

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

 cin >> mas1[i];

}

int counter = 0;

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

 if (mas1[i] < 0) {

  mas2[counter] = mas1[i];

  counter++;

 }

}

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

 if (mas1[i] == 0) {

  mas2[counter] = mas1[i];

  counter++;

 }

}

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

 if (mas1[i] > 0) {

  mas2[counter] = mas1[i];

  counter++;

 }

}

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

 cout << mas2[i] << std::endl;

}

return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?