Найти минимальный элемент массива используя рекурсию - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д