Найти минимальный элемент массива используя рекурсию - C (СИ)
Формулировка задачи:
Добрый день! Задание: найти минимальный элемент с помощью рекурсии.
Сначала сделал с помощью цикла,вот так:
все работает, а рекурсия почему-то не хочет:
p.s
Обращение идёт из главной функции(передача по указателю).
void Fn2(int *a, int n) //поиск минимального элемента { int i, min; min = *a; for(i=0; i<n; i++) { if(min>*(a+i)) min = *(a+i); } printf("Минимальный элемент = %d", min); printf("\n"); }
int Fn2(int *a, int n, int min, int i) //поиск минимального элемента { min = *a; if (i<n) { if(min>*(a+i)) min = *(a+i); i++; return Fn2(a, n, min, i); } else return min; printf("Минимальный элемент = %d", min); printf("\n"); }
Решение задачи: «Найти минимальный элемент массива используя рекурсию»
textual
Листинг программы
int * min_value(const int * array, const size_t count) { return ( count < 2 ) ? (int*)array : min_value(array + ( array[0] > array[count - 1] ), count - 1); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д