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

Есть код: #include #include using namespace std; int main() { setlocale(lc_all, "rus"); srand(time(null)); int arr[15]; cout < < "неотсортированный массив из 15 случайных чисел: { "; for (int i = 0; i < 15; i++) { arr[i] = 0 + rand() % (20) - 10; cout < < arr[i] < < " "; } cout < < "}"< < endl; cout < < "отсортированный массив: [ "; for (int i = 0; i < 15; i++) { for (int j = i+1; j < 15; j++) { if (arr[i] > arr[j]) { swap(arr[i], arr[j]); } } } for (int i = 0; i < 15; i++) cout < < arr[i]< < " "; cout < < "]" < < endl; return 0; } : числа в массиве - рандомные, нужно их отсортировать так: сначала отрицательные на уменьшение, потом положительные на уменьшение. у меня только по возрастанию сортировать получаеться(

Показать ответ
Ответ:
Torquis
Torquis
16.08.2020 22:53

//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
#include <iostream>
#include <array>
int main()
{
std::array<int, 10> mas = { 1, 5, -4, 9, -6, -2, 7, 8, -5, 0 };
auto it = std::partition(mas.begin(), mas.end(), [](const int& i) { return i < 0; });
std::sort(mas.begin(), it, [](const int& x, const int& y) { return x > y; });
std::sort(it, mas.end(), [](const int& x, const int& y) { return x > y; });
std::copy(mas.begin(), mas.end(), std::ostream_iterator<int>(std::cout, " "));
}

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