剛開始學習C++中的算法。我的書提到了一個在數字標題中定義的簡單的只讀算法。它有三個參數,第一個是迭代器,用於指定範圍或元素的總和,第三個是總和的初始值。然而,當我嘗試這樣做:累積算法不正確的總和
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
int main() {
vector<int> numbers;
//Fill vector with numbers.
for (vector<int>::size_type i = 0; i != 10; i++) {
numbers.push_back(i);
}
int sum = accumulate(numbers.begin(), numbers.end(), 1);
cout << numbers.size() << endl;
cout << sum << endl;
system("PAUSE");
return 0;
}
我得到的輸出爲:10,46。10加1是怎麼樣的46?我無法看到我的錯誤,感謝您的洞察力。
10加1不等於46.這不是你所要的加入。 –
如果你想添加10和1,有一個更簡單的方法:'int sum = 10 + 1;'。 –
@ R.MartinhoFernandes更簡單的是將** 11 **分配給'sum':D – Mahesh