PDA

Visualizza la versione completa : [C++] Calcolo di una media con dati int e float


n0nn4
29-07-2007, 13:36
Salve ragazzi, ho bisogno solamente di un chiarimento:
Non capisco percè il compilatore c++ ad esempio nel calcolo della media non si comporta come al VB6.
Esempio:
Ho un vettore di numeri interi, voglio calcolarne la media, quindi dichiaro una variabile di tipo float in modo tale da avere una media abbastanza precisa, e non capisco xche mi da come risultato sempre ed esclusivamente un numero intero:
:ciauz:

Samuele_70
29-07-2007, 15:10
In che modo hai effettuato le operazioni ?

oregon
29-07-2007, 16:55
Evidentemente sbagli qualcosa nel codice ... ma se non lo mostri, ti rimarra' il dubbio ...

n0nn4
29-07-2007, 21:21
Ecco il codice:

#define NL 10


float Media()
{
int i;
int s=0;
for(i=0;i<NL;i++)
{
s+=Lavoratori[i].euro;
}
return (s/i);
}

bomber88
29-07-2007, 21:55
credo dipenda dal fatto che entrambi le variabile che hai usato per calcolare la media (s e i) siano di tipo intero, la media di due numeri interi è sempre un intero anche se la variabile che va a contenere il valore definitivo è un float, quindi prova a cambiare il tipo di una delle due variabili (s o i scegli tu) da int a float.

oregon
29-07-2007, 22:50
#define NL 10

double Media()
{
int i;
double s=0;
for(i=0; i<NL; i++)
s+=Lavoratori[i].euro;

return (s/i);
}

Loading