problema con esercizio ricorsivo
Inviato: sabato 29 ottobre 2011, 12:49
salve a tutti vorrei che mi aiutaste con questo problema...ho scritto un programma in c usando il metodo ricorsivo ma il programma mi va in loop...ecco il codice:
/*Scrivere un programma che, dati due interi n1 e n2, restituisca la somma
di tutti gli interi compresi tra n1 e n2.
(Se scrivo n1=8 e n2=16, sum= 8+9+10+11+12+13+14+15+16)*/
#include
int somma(int n,int m);
int verifica(int m, int n);
int main(void)
{
int n,m,sum;
printf("inserisci un intero\n");
scanf("%d", &n);
printf("inserisci un altro intero più grande\n");
scanf("%d", &m);
if(verifica(m,n));
sum=(somma(n,m));
printf("la somma dei numeri nell'intervallo %d-%d è %d\n",n,m,sum);
return 0;
}
int verifica (int m, int n)
{
if(n<m)
return 1;
else printf("m deve essere maggiore di n!\n");
}
int somma (int n, int m)
{
int t=0;
while(n<m)
t=t+n;
n++;
return (t+m);
}
Quindi avvio il programma dal terminale ma nel momento in cui inserisco i due interi il programma si ferma e non va più avanti...non posso nemmeno usare "clear" per tornare all'inizio. Dov'è il problema?
/*Scrivere un programma che, dati due interi n1 e n2, restituisca la somma
di tutti gli interi compresi tra n1 e n2.
(Se scrivo n1=8 e n2=16, sum= 8+9+10+11+12+13+14+15+16)*/
#include
int somma(int n,int m);
int verifica(int m, int n);
int main(void)
{
int n,m,sum;
printf("inserisci un intero\n");
scanf("%d", &n);
printf("inserisci un altro intero più grande\n");
scanf("%d", &m);
if(verifica(m,n));
sum=(somma(n,m));
printf("la somma dei numeri nell'intervallo %d-%d è %d\n",n,m,sum);
return 0;
}
int verifica (int m, int n)
{
if(n<m)
return 1;
else printf("m deve essere maggiore di n!\n");
}
int somma (int n, int m)
{
int t=0;
while(n<m)
t=t+n;
n++;
return (t+m);
}
Quindi avvio il programma dal terminale ma nel momento in cui inserisco i due interi il programma si ferma e non va più avanti...non posso nemmeno usare "clear" per tornare all'inizio. Dov'è il problema?