PDA

Visualizza la versione completa : [C++] Cosa c' di sbagliato in questo codice?


--LO--
16-11-2002, 19:13
io devo fare questo:

Calcolare la somma dei numeri naturali compresi tra un valore iniziale a e uno finale b.

ho scritto sto codice:



// programma che calcola la somma dei numeri naturali
//compresi fra un valore a e uno b

#include <iostream.h>
#include <conio.h>

int main()
{
int a,b,n,somma;
cout << "Inserisci l'intervallo in cui vuoi effettuare la somma dei numeri primi che vi sono all'interno" << endl;
cin >> a >> b;
for (n=a, somma=0; n>=a & n<b; a++ ,somma+= n++)
{
cout <<" La somma dei numeri primi compresi fra "<< a<<" e"<<b<<"e':"<< n++<<endl;
}


getch();
}



Il problema che non mi visualizza una sola riga con la somma, ma bensi tante righe quanti sono i numeri dell'intervallo con risultato i numeri dispari.
Cosa c' di sbagliato?

mildred
16-11-2002, 19:18
il cout sta dentro il corpo del ciclo for.

metti una virgola dopo la paraentesi chiusa del for...

--LO--
16-11-2002, 19:18
Mi son scordata di indicare a che linguaggio mi riferivo nel titolo:(

come faccio?

--LO--
16-11-2002, 19:22
Originariamente inviato da mildred
il cout sta dentro il corpo del ciclo for.

metti una virgola dopo la paraentesi chiusa del for...
sbagliato.
da errore:)
il cout non pu stare dentro al corpo del for?

cmq...spiego meglio l'errore...
se io scrivo intervallo fra 1 e 7 mi scrive:


La somma dei numeri primi compresi fra 1 e 7 e' 1
La somma dei numeri primi compresi fra 2 e 7 e' 3


quindi in teoria c' qualcosa di sbagliato nell'incremento di a associato a n?

non ci capisco nulla...

mildred
16-11-2002, 19:25
infatti lo incrementi anche nel cout

... "<< n++<<endl;

--LO--
16-11-2002, 19:28
Originariamente inviato da mildred
infatti lo incrementi anche nel cout

... "<< n++<<endl;
non dovrei incrementarlo?

mildred
16-11-2002, 19:29
int a = 0;
int b = 3;

int somma = 0;

for (int i = a; i < b; i++)
{
somma += a;
}

cout << "La somma " << somma << endl;

mildred
16-11-2002, 19:30
gi lo incrementi nel for

--LO--
16-11-2002, 19:32
Originariamente inviato da mildred
int a = 0;
int b = 3;

int somma = 0;

for (int i = a; i < b; i++)
{
somma += a;
}

cout << "La somma " << somma << endl; :( neanche cos...stavolta per da una sola riga almeno.....vabb, provo a vedere cosa non va
grazie mille cmq

mildred
16-11-2002, 19:34
ma devi calcolare la somma dei numeri primi o naturali?

Loading