[C++] Aiuto con esercizio di base?!

vinci931
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 :-D

Risposte
apatriarca
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?

vinci931
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?

apatriarca
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:
for (int i = 0; i < n; ++i) {
    cin >> array[i];
}

dove array è l'array in cui inserisci i valori..

vinci931
Credo di essere giunto alla soluzione: confermi la sua correttezza? :D

//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;
}

apatriarca
A prima vista direi che è corretto. Togli quella chiamata a system però..

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.