Infatti proprio questo ti volevo chiedere:
Guardando l'esempio del contare quante volte un intero compare in un array:
é vero che come ho scritto io se non trova l'intero alla posizione n, non riparte la ricorsione?codice:#include <iostream> #include <cstdlib> using namespace std; int occorrenza(int a[],int n, int c) { if(n=0) return 0; if(a[n]==c) // se non si trova l'uguaglianza, comunque non riparte! return occorrenza(a,n--,c)+1; } int main() { int n=7; int cc=6; int aa[]={1,9,6,7,6,8,6}; cout<<"il "<<cc<<" è contenuto "<<occorrenza(aa,n,cc); return 0; }
ovvero, mi trovo ad un certo punto che non vale ver l'if, ma in questo modo non va avanti la ricorsione giusto?
in questo caso, va bene la via di fuga ma non so portare avanti le chiamate ricorsive
![]()
![]()

Rispondi quotando