Написать рекурсивную функцию поиска минимального элемента одномерного вещественного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать рекурсивную функцию поиска минимального элемента одномерного вещественного массива.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. int * min(const int * arr, const size_t size)
  4. {
  5. return ( size < 2 ) ? (int*)arr : ( *arr >*(arr + size - 1) ) ? min(arr + 1, size - 1) : min(arr, size - 1);
  6. }
  7. int main(void){
  8. int arr[5] = { 3, 1, 2, 5, 4 }, i;
  9. printf("Array: ");
  10. for ( i = 0; i < 5; ++i )
  11. printf("%d ", arr[i]);
  12. printf("\nmin element: %d\n", *min(arr, 5));
  13. getch();
  14. return 0;
  15. }
Можно ли это написать как-то проще или по другому.

Решение задачи: «Написать рекурсивную функцию поиска минимального элемента одномерного вещественного массива»

textual
Листинг программы
  1. int min_1(const int *arr, const size_t size) {
  2.     if (size < 2)
  3.         return *arr;
  4.     else if ((*arr > *(arr + size - 1)))
  5.         return min_1(arr + 1, size - 1);
  6.     else
  7.         return min_1(arr, size - 1);
  8. }

Объяснение кода листинга программы

В данном коде представлена рекурсивная функция min_1, которая осуществляет поиск минимального элемента в одномерном вещественном массиве.

  1. Входные параметры функции:
    • arr — указатель на первый элемент массива
    • size — размер массива
  2. Проверка условия: если размер массива меньше или равен 1, то возвращается значение первого элемента, так как в массиве размером 1 нет возможности выбрать элемент меньше первого.
  3. В случае, если первый элемент больше последнего элемента массива, то возвращается результат вызова функции min_1, в котором указатель на первый элемент массива сдвигается на 1 вправо, а размер массива уменьшается на 1.
  4. В общем случае, когда первый элемент не является минимальным, функция min_1 рекурсивно вызывается с новым указателем на следующий элемент массива и уменьшенным размером массива.
  5. Возвращаемое значение — минимальный элемент массива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы