Задание: дан массив из 15 рандомных чисел от -10 до 10. Нужно числа отсортировать так: сначала отрицательные на уменьшение, потом положительные на уменьшение.
Написать на с++, желательно через циклы !

3 Окт 2019 в 15:42
199 +1
0
Ответы
1
#include <iostream>
#include <cstdlib>
int main() {
const int size = 15;
int arr[size];
// заполняем массив рандомными числами от -10 до 10
for (int i = 0; i < size; ++i) {
arr[i] = rand() % 21 - 10;
}
// сортируем отрицательные числа на убывание
for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
if (arr[i] < 0 && arr[j] < 0 && arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// сортируем положительные числа на убывание
for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
if (arr[i] >= 0 && arr[j] >= 0 && arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// вывод отсортированного массива
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
return 0;
}
19 Апр 2024 в 18:39
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир