Hi guys,

I'm sure this is pretty simple really, but I can't get my head around it.

I have a long equation that I'm using c++ to work out. It involves a random number generator, so each time the program is run, it replaces one of the variables in the equation with a random number. This gives me a different result each time :)

What I want to do is run the program a million times, store every result that I obtain, and then get an average at the end.

I'm thinking I should put a for loop at the start of my equation, but do I use a counter to record every result I get? I'm really not sure.

Thanks for any help you can give me, if you would like me to post some code I can do...

Andy.

ok, instead i did a while loop like this:

while(repeats != 1000000){
Equation = x + y;
Cout << Equation;
repeats++;
}

So basically, it prints the above 1000000 times. Instead, what I want it to do is record every value of x, add them all up, and then divide by 1000000 to get an average. I then want this to be displayed to screen.

Any ideas?

Try summing the results of the equation - printing out a million things is absolutely useless - then dividing by 1e6 at the end of the loop. Better yet, use an array-based language to avoid finding a problem where there isn't any.

ok, instead i did a while loop like this:

while(repeats != 1000000){
Equation = x + y;
Cout << Equation;
repeats++;
}

So basically, it prints the above 1000000 times. Instead, what I want it to do is record every value of x, add them all up, and then divide by 1000000 to get an average. I then want this to be displayed to screen.

Any ideas?

I would use a running average and only store the last value and average value in memory. Storing millions of values will just waste memory and slow you down.

This article has been dead for over six months. Start a new discussion instead.