int max_otr(int a[],int dlina){
int i=dlina;
int max=a;
max=a;
if(max<a[i-1]){
max=a[i-1];
}
else{
max=a;
}
if(i==1){
return max;
}
max_otr(a,(dlina-1));
}
задание по Си
Помоготе пожалуйста написать рекурсивную функцию нахождения в массиве максимального отрицательного элемента , второй день уже бьюсь ничего не выходит :(
[/ code] не забываем.
Код:
вот , тут только я пытался просто найти максимальное значение .
Поступил в универ на программиста , никогда раньше этим не занимался , теперь сижу думаю над каждым заданием по несколько дней !
Помогите пожалуйста .
вместо 2 дня думать, откройте любую книгу по программированию и там найдете примеры. Того же Дейтел & Дейтел качните с сети или купите в магазине, там все что нужно есть.
совет по твоему коду:
исходя из твоей конструкции стоит изменить добавить:
1. вместо длины массива передавай его текущий индекс - индекс элемента массива с которым тебе надо сравнивать max
если этот индекс меньше нуля -> возвращать максимальный элемент
2. или объяви максимальный элемент как static внутри рекурсивной функции задав ему первоначальное значение по смыслу или же передавай его как параметр (т.е. получиться три параметра, а не два)
3. индекс последнего элемента в функции равен длина-1, а не длина.