PDA

View Full Version : Variabile pazza!!!


R2D2
03-08-2003, 15:49
Ciao,
ho fatto un banale programmino in C++ ma, pur avendo dichiarato una varibile float, non me la restituise con la virgola anche se dovrebbe. Perchè?

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

int a[16],n,i,s;
float m;

void main()
{
clrscr();
cout<<"Inserisci il numero di elementi del vettore: ";
cin>>n;
cout<<endl;
if(n<16)
{
for(i=0;i<n;i++)
{
clrscr();
cout<<"Inserisci il numero: ";
cin>>a[i];
cout<<endl;
}
for(i=0;i<n;i++)
{
s=s+a[i];
}
m=s/n;
cout<<"Ecco la media: ";
cout<<m;
cout<<endl;
}
else
{
cout<<"Il numero di elementi e' superiore a 16";
cout<<endl;
}

getch();
}


Il programma calcola la media degli elementi di un vettore. La m dovrebbe uscire con la virgola

pela
03-08-2003, 15:59
quando fai m=s/n; s e n sono numeri interi per cui il risultato viene intero
fai invece m=(float)s/n; convertendo s a float la divisione viene fatta tra numeri reali

R2D2
03-08-2003, 16:40
funziona, grazie!