Мне нужна ваша помощь, чтобы написать функцию, которая выполняет следующие действия:
Получает 2 указателя (тип double);
одна указывает на первый элемент массива, а другая - за массивом.Этот указатель не может быть разыменован.
Если указатели указывают на два смежных элемента массива, выходным значением является значение первого указателя.В противном случае функция вызывается от первого элемента к элементу посередине и от этого среднего элемента до конца, причем из этих двух значений выводится более высокое значение.
Индексирование запрещено (да, это домашнее задание).Также этот тип вещей запрещен -> * (p + 1).Это должно работать точно так, как описано (если нет, я не получаю очков).
Я действительно надеюсь, что мне удалось сделать это понятным, так как я даже не понимаю это сам?Мне сказали, что это очень просто, может быть написано примерно в 10 строк кода, но я просто не могу освоить это?Я знаю, как написать обычную функцию, которая находит обычное максимальное число, но это не совсем то, о чем просит эта проблема ...
Вот несколько примеров того, что должно работать:
double arr[] = {4.3, 15.1, 2.2, -3.4, 18.1, 1.1, 3.0};
printf("%g", parallel_max(arr, arr+7));
ожидаемый результат: 18,1
double arr[] = {4.3, 15.1, 2.2, 18.2, -3.4, 1.1, 3.0};
printf("%g", parallel_max(arr, arr+7));
ожидаемый результат: 18,2
double arr[] = {3, 1, 2};
printf("%g", parallel_max(arr, arr+3));
ожидаемый результат: 3
double arr[] = {42.42};
printf("%g", parallel_max(arr, arr+1));
ожидаемый результат: 42,42
помогите пожалуйста?