Scusate...stavo facendo un programma in C++, molto simply, come compilatore uso DEV-C++....
Faccio fare la media tra diversi valori inseriti dall'utente, la media è float, ma poi quando la metto a schermo(cout), mi mostra un valore intero, presumibilmente arrotondato....
Mi sapreste dire perchè?in teoria il mostrando un valore float non avrei dovuto vedere qualche cifra dopo la virgola?
per la cronaca il programma è qsto....
Codice:
#include <cstdlib>
#include <iostream>
using namespace std;
int n, m; //dichiarare le lunghezze
int i, sommaA=0, sommaB=0; //altre varibili intere
float mediaA, mediaB; //altre variabili float(virgola)
int main()
{ //testo esercizio
cout<<"Scrivere un programma che memorizzi dei valori in due vettori A e B,"<<endl;
cout<<"ripettivamente di lunghezza n e m, a scelta dell'utente;"<<endl;
cout<<"Trovare il valore maggiore presente nel vetttore A e calcolare la"<<endl;
cout<<"media dei valori di A;"<<endl;
cout<<"Trovare il valore minimo presente nel vettore B e calcolare la"<<endl;
cout<<"media dei valori di B;"<<endl;
cout<<endl;
//inserire la lunghezza dei vettori A e B
cout<<"Inserire la lunghezza del vettore A"<<endl;
cin>>n;
cout<<"Inserire la lunghezza del vettore B"<<endl;
cin>>m;
//dichiarare i vettori
//vengono dichiarati dopo aver dato un valore alle varibili della loro lunghezza prima non è possibile!
int A[n], B[m];
//inserire dei valori nei vettori
for(i=0;i<n;i++){ //valori per il vettore A
cout<<"Inserisci il valore da inserire nel vettore A"<<endl;
cin>>A[i];
}
for(i=0;i<m;i++){ //valori per il vettore B
cout<<"Inserisci il valore da inserire nel vettore B"<<endl;
cin>>B[i];
}
int maxA=A[0], minB=B[0];
//INIZIO LAVORO SUL VETTORE A:
//calcolare il maggiore e la media dei valori di A
for(i=0;i<n;i++){
if(A[i]>maxA){
maxA=A[i];
}
}
//calcolare la media di A
//fase 1: calcolare la somma dei valori del vettore A
for(i=0;i<n;i++){
sommaA=sommaA+A[i];
}
//fase 2: calcolare la media del vettore A
mediaA=sommaA/n;
//FINE LAVORO SUL VETTORE A!
//INIZIO LAVORO SUL VETTORE B:
//calcolare il maggiore e la media dei valori di B
for(i=1;i<m;i++){
if(B[i]<minB){
minB=B[i];
}
}
//calcolare la media di B
//fase 1: calcolare la somma dei valori del vettore A
for(i=1;i<m;i++){
sommaB=sommaB+B[i];
}
//fase 2: calcolare la media del vettore A
mediaB=sommaB/m;
//FINE LAVORO SUL VETTORE B!
//PRESENTAZIONE DEI RISULTATI
cout<<"Risultati del vettore A:"<<endl;
cout<<"Valore maggiore di A "<<maxA<<endl;
cout<<"Valore medio di A "<<mediaA<<endl;
cout<<endl;
cout<<"Risultati del vettore B:"<<endl;
cout<<"Valore minimo di B "<<minB<<endl;
cout<<"Valore medio di B "<<mediaB<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Grazie mille già da ora a chi mi aiuterà....