СИ, рекурсия, подскажите пожалуйста
Всем привет... написал рекурсивную ф-цию которая находит максимальный из отрицательных элементов вектора.
вот код.
но проблема в том когда я ввожу первы элементы положительное число а дальше какие-нибудь отрицательные он мне пишет что в векторе нет негативных элементов а когда я первым задаю отрицательное число ...почему так? что неверно? .
#include
#include
#define N 5
float min;
void max_otr(float v [ N ] ,int n)
{
if((n-1) < 0) return;
else
{
if(v [ n-1 ] < 0 && v [ n-1 ] > min) {min = v [n-1 ] ; n--; max_otr(v,n);}
else
{n--; max_otr(v,n);}
}
}
int main()
{
float v [ N ] ;
int a;
for(a = 0; a < N ;a++) scanf("%f",&v [ a ] );
min = v [ 0 ] ;
max_otr(v,N);
if(min >= 0) printf("No negative elements!\n");
else
printf("%f\n",min);
getch();
return 0;
}
Не тот раздел)