Благодаря рекурсивной функции осуществить поиск минимального элемента одномерного массива - C (СИ)
Формулировка задачи:
Требуется:
С помощью рекурсивной функции осуществить поиск минимального элемента одномерного массива Массив, предположим, состоит из 10 элементов (мне не надо делать массив, в котором размерность будет меняться или количество элементов),главное
, чтоб все эти 10 элемнтов массива я мог задать в ручную (т.е. когда программа будет выполняться)На деле:
компилятор выдает ошибки 1. invalid conversion from 'int' to 'int*' [-fpermissive] 2. initializing argument 1 of 'int minimal(int*)' [-fpermissive]
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- int minimal (int min, int i, int a[10])
- {
- for (i; i<10; i++)
- {
- if (min>=a[i])
- min=a[i];
- }
- return min;
- }
- int main(void)
- {
- int i=0;
- int min=0;
- int a[10];
- for(i; i<10; i++)
- {
- printf("Vvedite znachenie elemnte %d massiva a: ", i);
- scanf("%d", &a[i]);
- }
- min=a[i];
- printf ("Minimalnoe znachenie massiva = %d", minimal(min, i, a[i]));
- getch();
- }
Решение задачи: «Благодаря рекурсивной функции осуществить поиск минимального элемента одномерного массива»
textual
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- int minimal (int *array, int size)
- {
- int l, r, k;
- if (size==1) return *array;
- l=minimal(array, k=size>>1);
- r=minimal(array+k, size-k);
- return l<r?l:r;
- }
- void main(void)
- {
- int i;
- int a[10];
- for(i=0; i<10; i++)
- {
- printf("Vvedite znachenie elemnte %d massiva a: ", i);
- scanf("%d", &a[i]);
- }
- printf ("Minimalnoe znachenie massiva = %d", minimal(a,10));
- getch();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д