C/C++

ПОМОГИТЕ ПОЖАЛУЙСТА C++

Дан массив чисел размерностью 10 элементов. Написать функцию,
которая сортирует массив по возрастанию или по убыванию, в
зависимости от третьего параметра функции. Если он равен true,
сортировка идет по убыванию, если false, то по возрастанию. Первые
2 параметра функции — это массив и его размер, третий параметр по
умолчанию равен false.
 #include  
#include
using namespace std;
void show(int* box, const size_t n) {
for (size_t i = 0; i < n; ++i) cout
МТ
Михаил Треблеров
76 566
Лучший ответ
Firuz Makhmadizoda
 void sort(int* box, const size_t n, bool flag = false) { 
sort(box, box + n, [flag](int a, int b) {return flag ^ (a < b); });
}
#include <iostream>

void sortArray(int* arr, int size, bool descending = false) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
// Проверяем третий параметр для определения порядка сортировки
if (descending) {
if (arr[j] < arr[j + 1]) {
// Меняем элементы местами
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
} else {
if (arr[j] > arr[j + 1]) {
// Меняем элементы местами
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}

int main() {
int arr[] = {5, 2, 9, 1, 7, 4, 6, 3, 8, 0};
int size = sizeof(arr) / sizeof(arr[0]);

// Сортировка по возрастанию
sortArray(arr, size, false);
std::cout << "По возрастанию: ";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;

// Сортировка по убыванию
sortArray(arr, size, true);
std::cout << "По убыванию: ";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;

return 0;
}



В этом примере функция sortArray принимает массив arr, его размер size и третий параметр descending, который по умолчанию равен false. Функция использует алгоритм сортировки пузырьком для сортировки массива.

В main функции приведен пример использования функции sortArray с массивом чисел размерностью 10 элементов. Сначала массив сортируется по возрастанию, а затем по убыванию. Результаты сортировки выводятся на экран.

Ожидаемый вывод:

По возрастанию: 0 1 2 3 4 5 6 7 8 9
По убыванию: 9 8 7 6 5 4 3 2 1 0