std :: accumulate関数がvector <double>の間違った合計を表示するのはなぜですか?

笑顔の仏

のすべての要素を追加するための次のコードを検討してくださいvector

#include<iostream>
#include<algorithm>
#include<numeric>
#include<vector>
using namespace std;
int main(void)
{

   std::vector<double> V;
   V.push_back(1.2);
   V.push_back(3.6);
   V.push_back(5.6);
   double sum = accumulate(V.begin(),V.end(),0);

   cout << "The sum of the elements of the vector V is " << sum << endl;
   return 0;
}

これをWindowsのCygwinでコンパイルして実行すると、ターミナルで次のように出力されます。

ベクトルVの要素の合計は9です。

accumulate関数は、答えを説明するだろうこれは、すべての数字を切り捨てし、それらを加算しているようです。

CygwinのG ++コンパイラでこの何かを間違っては、またはの私の誤解accumulate加算する機能vectordouble秒?

右折り

std::accumulate そのように宣言されています:

template <typename InputIt, typename T>
T accumulate(InputIt first, InputIt last, T init);

の2番目のテンプレート引数は、が型であるためstd::accumulate推定されます。代わりに、のようにdoubleを渡します。int0int0.0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

const関数を介してstd :: vector要素のアドレスを返すのが間違っているのはなぜですか?

分類Dev

DoubleがDBから間違ったデータを返すのはなぜですか?

分類Dev

呼び出しで std::vector<double> を使用しているが、使用されている std::vector<double, std::allocator<double> > に関するエラーが発生する

分類Dev

std :: double_tをstd :: coutにストリーミングしないと、小数点以下の桁数が表示されないのはなぜですか?

分類Dev

double []の内容を借用するstd :: vector <double>の標準的な方法

分類Dev

open ':std'、 ':encoding(UTF-8)';を使用すると、File :: SlurpでUTF8文字が間違って表示されるのはなぜですか?

分類Dev

open ':std'、 ':encoding(UTF-8)';を使用すると、File :: SlurpでUTF8文字が間違って表示されるのはなぜですか?

分類Dev

特に、std :: vector&ではなくstd :: spanを関数に渡す必要があるのはなぜですか?

分類Dev

std :: array :: size constexprが単純な型(int、double、...)であるのに、std :: vector(GCC)ではないのはなぜですか?

分類Dev

std :: coutがfloat、double、およびlong doubleを同じ10進数の精度で出力するのはなぜですか?

分類Dev

std :: coutがfloat、double、およびlong doubleを同じ10進数の精度で出力するのはなぜですか?

分類Dev

boost :: asio :: bufferでstd :: vector <std :: complex <double >>のような引数を使用します

分類Dev

std :: vector <boost :: optional <double >>をstd :: vector <double>に変換します

分類Dev

std :: isnan()がNAN値を持つdouble変数に対してfalseを返すのはなぜですか

分類Dev

std :: vector <std :: vector <std :: string >>をstd :: vector <std :: vector <double >>に変換します

分類Dev

エラー「std :: count_if()を使用する場合、「std :: vector <double、std :: allocator <double>>」から「double *」への既知の変換はありません」

分類Dev

`std :: string str(nullptr)`と `std :: string str = nullptr`が間違っているのはなぜですか?誰かが理由を詳細に説明できますか?

分類Dev

Pandas pd.Series()。var()関数は、stdを手動で計算する場合と比較して、異なる出力を提供します。ここで何が間違っているのか考えてみてください。

分類Dev

連結すると、コードが間違った合計を返すのはなぜですか?

分類Dev

合計時間の計算式で間違った結果が生成されるのはなぜですか?

分類Dev

二重空の中括弧{{}}が、ゼロではなく1つの要素を持つstd :: initializer_list <double>を作成するのはなぜですか?

分類Dev

librosa STFTが間違った周波数を表示するのはなぜですか?

分類Dev

コードが間違った出力を表示するのはなぜですか?

分類Dev

単純な整数の乗算でdoubleが期待どおりに機能するのに、int64_tを使用すると間違った結果が得られるのはなぜですか

分類Dev

初期化時に「std :: vector <double>」を「double」に変換する方法

分類Dev

std :: vector <double> v {unsigned int}が有効なコンストラクターを選択しないのはなぜですか?

分類Dev

std :: ostreamとcharの間のoperator <<関数が非メンバー関数であるのはなぜですか?

分類Dev

統計が間違った結果を返すのはなぜですか?

分類Dev

RavenDBが間違った合計結果カウントを返すのはなぜですか?

Related 関連記事

  1. 1

    const関数を介してstd :: vector要素のアドレスを返すのが間違っているのはなぜですか?

  2. 2

    DoubleがDBから間違ったデータを返すのはなぜですか?

  3. 3

    呼び出しで std::vector<double> を使用しているが、使用されている std::vector<double, std::allocator<double> > に関するエラーが発生する

  4. 4

    std :: double_tをstd :: coutにストリーミングしないと、小数点以下の桁数が表示されないのはなぜですか?

  5. 5

    double []の内容を借用するstd :: vector <double>の標準的な方法

  6. 6

    open ':std'、 ':encoding(UTF-8)';を使用すると、File :: SlurpでUTF8文字が間違って表示されるのはなぜですか?

  7. 7

    open ':std'、 ':encoding(UTF-8)';を使用すると、File :: SlurpでUTF8文字が間違って表示されるのはなぜですか?

  8. 8

    特に、std :: vector&ではなくstd :: spanを関数に渡す必要があるのはなぜですか?

  9. 9

    std :: array :: size constexprが単純な型(int、double、...)であるのに、std :: vector(GCC)ではないのはなぜですか?

  10. 10

    std :: coutがfloat、double、およびlong doubleを同じ10進数の精度で出力するのはなぜですか?

  11. 11

    std :: coutがfloat、double、およびlong doubleを同じ10進数の精度で出力するのはなぜですか?

  12. 12

    boost :: asio :: bufferでstd :: vector <std :: complex <double >>のような引数を使用します

  13. 13

    std :: vector <boost :: optional <double >>をstd :: vector <double>に変換します

  14. 14

    std :: isnan()がNAN値を持つdouble変数に対してfalseを返すのはなぜですか

  15. 15

    std :: vector <std :: vector <std :: string >>をstd :: vector <std :: vector <double >>に変換します

  16. 16

    エラー「std :: count_if()を使用する場合、「std :: vector <double、std :: allocator <double>>」から「double *」への既知の変換はありません」

  17. 17

    `std :: string str(nullptr)`と `std :: string str = nullptr`が間違っているのはなぜですか?誰かが理由を詳細に説明できますか?

  18. 18

    Pandas pd.Series()。var()関数は、stdを手動で計算する場合と比較して、異なる出力を提供します。ここで何が間違っているのか考えてみてください。

  19. 19

    連結すると、コードが間違った合計を返すのはなぜですか?

  20. 20

    合計時間の計算式で間違った結果が生成されるのはなぜですか?

  21. 21

    二重空の中括弧{{}}が、ゼロではなく1つの要素を持つstd :: initializer_list <double>を作成するのはなぜですか?

  22. 22

    librosa STFTが間違った周波数を表示するのはなぜですか?

  23. 23

    コードが間違った出力を表示するのはなぜですか?

  24. 24

    単純な整数の乗算でdoubleが期待どおりに機能するのに、int64_tを使用すると間違った結果が得られるのはなぜですか

  25. 25

    初期化時に「std :: vector <double>」を「double」に変換する方法

  26. 26

    std :: vector <double> v {unsigned int}が有効なコンストラクターを選択しないのはなぜですか?

  27. 27

    std :: ostreamとcharの間のoperator <<関数が非メンバー関数であるのはなぜですか?

  28. 28

    統計が間違った結果を返すのはなぜですか?

  29. 29

    RavenDBが間違った合計結果カウントを返すのはなぜですか?

ホットタグ

アーカイブ