2016-12-15 4 views
0

Ich bekomme seltsam Fehler mit Doppel-Elemente Summe, es sieht aus wie 1e + 002, wenn die Antwort ist doppelte Summe.Summe der Doppel-Array bekommt falsche Antwort mit e

const int ARRAY_SIZE =20; 
//Index variable 
int i; 
//For finding average 
double sum=0.00; 
cout.precision(2); 
srand((unsigned)time(0)); 
double main_array[ARRAY_SIZE]; 
//Header 
cout << "Element number \t\t" << "Random Number\n\n" << endl; 
//Assigning random values into array. 
for (i=0; i< ARRAY_SIZE; i++) 
{ 
//Randomizer 
double ran =(rand()/((float)RAND_MAX/(10-0))); 
main_array[i] = ran; 
sum+=main_array[i]; 
+0

1e + 002 = 1 * 10^2 = 100, wenn es –

+0

Ihr Algorithmus hilft scheint zufällig zu sein. Welche Antwort hast du erwartet, und warum denkst du, dass die produzierte Antwort falsch ist? – user2079303

Antwort

2

Der Brief e bezeichnet scientific Notation. Das Vorhandensein von ihm macht den Wert nicht "falsch".

Verwenden Sie den Streammanipulator std::fixed, um die Festkommadarstellung anzugeben.

cout << fixed << sum;

+0

Vielen Dank :) – Satnam