C++의 알고리즘에 대해 배우기 시작했습니다. 내 책은 숫자 헤더에 정의 된 간단한 읽기 전용 알고리즘을 언급합니다. 세 개의 매개 변수를 취합니다. 첫 번째는 합계 범위를 지정하는 반복자이고 세 번째는 합계의 초기 값입니다. 그러나 나는이 작업을 수행 할 때 : (10), (46)가 어떻게 10에 1을 더한 46가 될 수 있습니다Accumulate algorithm incorrect sum
#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은 1과 46이 같지 않습니다. 첨가. –
10과 1을 더하고 싶다면, 더 간단한 방법이 있습니다 :'int sum = 10 + 1;'. –
@ R.MartinhoFernandes 더 단순한 것은'sum'에 ** 11 **을 할당하는 것입니다 : D – Mahesh