Il problema è sta nel
if (n==1)
che ti fa uscire subito dalla ricorsione e andrebbe tolto.
PS: anche passare vet - 2 come parametro non ha senso, visto che punta ad una variabile che non è più il tuo vettore.
oregon ha scritto:
Mi sembra che tu abbia complicato troppo la funzione ricorsiva ... inserendo roba che non ha senso ... pensaci ...
int positivi(int vet[], int n)
{
int conta = 0;
if (n == 0) return 0;
if (vet[n-1] >= 0) conta++;
return conta + positivi(vet, n - 1);
}
Scusa oregon, non dovrebbe essere n < 0 la condizione di uscita? anche vet[0] esiste.