andbin ha scritto:
Ovviamente devi fare un controllo. L'array è sempre lo stesso identico nelle varie invocazioni ricorsive. E' solo l'indice che si incrementa. Quindi pensa, QUANDO devi terminare la ricorsione?
La ricorsione la devo terminare quando appunto il controllo di tutte le posizioni dell'array è stato effettuato,
ma come faccio a dirgli che deve terminare?
se faccio ++i incrementa sempre e va avanti, e dopo esce dall'array
se faccio i non fa nulla,
ho aggiunto questa condizione ma comunque non mi sembra molto sensata come controllo (a parte che non funziona) che stampa solo false..
ma non saprei in che altro modo fare
if(a.length==0) { //caso base array vuoto
return true; //x non è presente per forza nell'array a
}
if(a[i]!=x && a[i] < a.length) { //ho aggiunto questa condizione
return Ricorsione(a,i++,x);
} else {
return false;
}