Предмет: Информатика, автор: 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;

}

Приложения:
Похожие вопросы