C++ std::accumulate doesn't give the expected sum
<pre><code>double numbers[ ] = { 1, 0.5 ,0.333333 ,0.25 ,0.2, 0.166667, 0.142857, 0.125,
                       0.111111, 0.1 } ;
std::vector&lt;double&gt; doublenumbers ( numbers , numbers + 10 ) ;
std::cout &lt;&lt; std::accumulate ( doublenumbers.begin( ) , doublenumbers.end( ) , 0 ) ;
</code></pre>

<p>This produces 1, which is evidently wrong. Any explanations ?</p>

<p>Thanks a lot in advance!
programmingDoc </p>
