Предмет: Информатика,
автор: byslikda
Помогите пожалуйста. Нужно решить эту задачу на c++. Поставлю лайки, лучший ответ, всё как надо сделаю)) 8 задание
Приложения:

Ответы
Автор ответа:
1
#include <iostream>
int max(int* arr, int length);
int main()
{
int n;
std::cout << "Enter n: ";
std::cin >> n;
if (n < 1) {
std::cout << "incorrect value";
return 0;
}
int* arr = new int[n];
for (int i = 0; i < n; ++i) {
arr[i] = std::rand() % 100 - 50;
std::cout << "arr[" << i << "] = " << arr[i] << '\n';
}
std::cout << "\nmax = " << max(arr, n);
delete[] arr;
return 0;
}
int max(int *arr, int length) {
if (length == 1)
return *arr;
int middle = length / 2;
int max1 = max(arr, middle);
int max2 = max(arr + middle, length - middle);
return max1 >= max2
? max1
: max2;
}
Приложения:

Похожие вопросы
Предмет: Английский язык,
автор: miserylink
Предмет: Русский язык,
автор: фара123
Предмет: Другие предметы,
автор: Печенька717
Предмет: География,
автор: sofiababenko05