PDA

View Full Version : [C] Problemi con le funzioni ricorsive


giovanta
24-02-2010, 08:54
Non ho capito bene le funzioni ricorsive che modificano stringhe o array

Nel senso, ho capito il procedimento che si applica per quelle che devono calcolare serie, fare operazioni algebriche, calcolare somma di elementi di un array...

Ma ho problemi con esercizi tipo
"Scrivere una funzione che data una stringa s, restituisca una stringa ottenuta da s sostituendo ogni spazio bianco con il carattere underscore ('_')"

oppure

"Funzione che data una stringa s restituisca la stringa ottenuta da s eliminando le vocali"

Per la prima avevo pensato ad una soluzione di questo tipo ma non funziona..

int underscore (char *p){ if(*p=='\0')
return;
else if (*P!=' ')
{*p='_';}
return underscore (p++);}


e poi come chiamarla nel main?


Un altro problema che non riesco a risolvere è la ricerca del massimo di un array con una funzione ricorsiva.

int max (int v[],int dim){
int r;
if (dim==1)
return v[0];
else{r=max(v,dim-1);
if(r>v[dim-1])
return r;
else return (v[dim-1]);
}
}

cionci
24-02-2010, 12:30
Ne abbiamo parlato qua:
http://www.hwupgrade.it/forum/showthread.php?t=2110523
http://www.hwupgrade.it/forum/showthread.php?t=2141293