C/C++

Программирование С++. Помогите, пожалуйста, написать код (по-проще как-нибудь)

Сформировать массив из N случайных целых чисел в диапазоне
от -10 до 10 (число N вводится с клавиатуры, его значение не больше 20) и
вывести элементы этого массива на экран. Вычислить следующие
характеристики массива (вычисление каждой из них оформить как отдельную
функцию, параметрами которой являются количество элементов массива и сам
массив):
• значение максимального элемента массива;
• логическое значение (true или false) – признак наличия всех
значений из диапазона [2..5] в массиве. Если в массиве нет хотя бы
одного из значений 2, 3, 4 или 5, этот признак равен false, true –
только тогда, когда каждое из значений хотя бы раз встречается.
Выполнить следующую перестановку в массиве:
• поменять местами минимальный из отрицательных элементов и
минимальный из положительных элементов (если таких элементов
несколько, взять первые из них).
Вывести преобразованный таким образом массив.
Gold Russian
Gold Russian
58
 #include  
#include
#include
#include

using namespace std;

int max_element(int* box, const size_t n) {
auto max = box[0];
for (size_t i = 1; i < n; ++i) {
if (max < box[i]) {
max = box[i];
}
}
return max;
}

bool includes(int* box, const size_t n) {
int values[] = { 2, 3, 4, 5 };
auto length = size(values);
size_t i = 0;
while (i < length) {
size_t j = 0;
while (j < n) {
if (values[i] == box[j]) {
break;
}
++j;
}
if (j == n) {
return false;
}
++i;
}
return true;
}

void uswap(int* box, const size_t n) {
size_t imin = -1;
size_t imax = -1;
for (size_t i = 0; i < n; ++i) {
if (box[i] < 0) {
if (imin == -1) {
imin = i;
} else if (box[i] < box[imin]) {
imin = i;
}
} else if (box[i] > 0) {
if (imax == -1) {
imax = i;
} else if (box[i] < box[imax]) {
imax = i;
}
}
}
swap(box[imin], box[imax]);
}

int main() {
srand(unsigned(time(nullptr)));
const size_t m = 20;
size_t n = 0;
while (0 == n || n > m) {
cout > n;
}
auto box = new int[n];
for (size_t i = 0; i < n; ++i) {
box[i] = 10 - rand() % 21;
}
for (size_t i = 0; i < n; ++i) {
cout
Vladimir Gross
Vladimir Gross
72 414
Лучший ответ
Gold Russian Спасибо большое, я помню, что вы писали уже этот код, но проблема в том, что мне мало что из него понятно(((
Gold Russian Извините, а почему он ругается на эту строку?