[C++] Aiuto con esercizio di base?!
L'esercizio richiede di calcolare la somma di n (scelto in input) numeri dati in input.
Avevo iniziato il codice in questo modo:
#include
#define MAXV 50
using namespace std;
int main ()
{
float n;
int somma=0;
do {
cout<<"Con quanti numeri vuoi lavorare? (max 50)";
cin>>n;
if(n<=0)
cout<<"Il numero inserito non e' corretto.\n\n";
} while(n<=0);
cout<<"Inserire i "<
E' corretto fino a questo punto? Adesso come faccio ad inserire il valore degli n numeri??
Grazie
Avevo iniziato il codice in questo modo:
#include
#define MAXV 50
using namespace std;
int main ()
{
float n;
int somma=0;
do {
cout<<"Con quanti numeri vuoi lavorare? (max 50)";
cin>>n;
if(n<=0)
cout<<"Il numero inserito non e' corretto.\n\n";
} while(n<=0);
cout<<"Inserire i "<
E' corretto fino a questo punto? Adesso come faccio ad inserire il valore degli n numeri??
Grazie

Risposte
Non hai bisogno di memorizzare i valori per calcolarne la somma e quindi non hai neanche bisogno di avere una dimensione massima. Suppongo infatti tu l'abbia fatto con l'obiettivo di memorizzare tali dati in un array.
Non mi è chiara la ragione per cui n sia un float. n sarà infatti certamente intero. Piuttosto potrebbe aver senso definire somma come float in quanto non è specificato che i numeri da inserire debbano essere interi.
Per il resto direi che va abbastanza bene, ma non hai fatto molto finora. C'è una ragione per cui ti sei fermato a questo punto?
Non mi è chiara la ragione per cui n sia un float. n sarà infatti certamente intero. Piuttosto potrebbe aver senso definire somma come float in quanto non è specificato che i numeri da inserire debbano essere interi.
Per il resto direi che va abbastanza bene, ma non hai fatto molto finora. C'è una ragione per cui ti sei fermato a questo punto?
Si, l'esercizio riguarda gli array quindi è stato fatto con lo scopo di memorizzare i dati in un array.
Mi sono fermato perchè non so come continuare, nel senso quale comando dare per poter inserire da tastiera gli n valori; potresti aiutarmi?
Mi sono fermato perchè non so come continuare, nel senso quale comando dare per poter inserire da tastiera gli n valori; potresti aiutarmi?
Come in ogni altra situazione in cui devi eseguire una operazione numerose volte, devi usare un ciclo. In questo caso un ciclo for è probabilmente il più semplice. Qualcosa del genere insomma:
dove array è l'array in cui inserisci i valori..
for (int i = 0; i < n; ++i) { cin >> array[i]; }
dove array è l'array in cui inserisci i valori..
Credo di essere giunto alla soluzione: confermi la sua correttezza? 
//SOMMA E MEDIA DI n (scelto in input) NUMERI DATI DA INPUT
#include
#define MAXV 50
using namespace std;
int main ()
{
int n;
int i=0;
do {
cout<<"Con quanti numeri vuoi lavorare? (max 50)";
cin>>n;
if(n<=0)
cout<<"Il numero inserito non e' corretto.\n\n";
} while(n<=0);
int vett[n];
cout<<"Inserire i "<
for(i=0; i
{ cout<<"Inserire valore "<
cin>>vett;
}
int somma=0;
for(int i=0; i
somma=somma+vett;
cout<<"SOMMA DEGLI ELEMENTI = "<
int mean;
mean=somma/n;
cout<<"MEDIA DEGLI ELEMENTI = "<
cout<
system("pause");
return 0;
}

//SOMMA E MEDIA DI n (scelto in input) NUMERI DATI DA INPUT
#include
#define MAXV 50
using namespace std;
int main ()
{
int n;
int i=0;
do {
cout<<"Con quanti numeri vuoi lavorare? (max 50)";
cin>>n;
if(n<=0)
cout<<"Il numero inserito non e' corretto.\n\n";
} while(n<=0);
int vett[n];
cout<<"Inserire i "<
}
int somma=0;
for(int i=0; i
cout<<"SOMMA DEGLI ELEMENTI = "<
int mean;
mean=somma/n;
cout<<"MEDIA DEGLI ELEMENTI = "<
return 0;
}
A prima vista direi che è corretto. Togli quella chiamata a system però..