我想要一次總結12個數字(模擬一年)然後將結果添加到單獨的向量,但我似乎在掙扎。我曾試圖一次獲得12個數字,但我不確定。這是我正在閱讀的文本文件中的一個示例。使用累積從一個向量一次總結12個數字,然後將結果添加到另一個向量C++
-1
A
回答
0
您必須累積每年的值,這意味着您輸入矢量中的12個連續元素。
每次您點擊第12個元素時,您的累加器都有預期值。
double currentrain = 0;
for(int i = 0; i < rainfall.size(); ++i) {
// accumulate rain this year
currentrain += rainfall[i];
// i%12==11 on december
if((i%12)!=11)
continue;
// we have accounted each month in this year
sum.push_back(currentrain);
// reset the accumulator for next year
currentrain = 0;
}
0
你可以使用std ::直接積累:
vector<double> result;
for (auto it = begin(rainfall); it+12<=rainfall.end(); it+=12)
result.emplace_back(accumulate(it, it+12, 0));
+0
如果'it + 12'超出'std :: end(rainfall)',請小心。 – 2015-03-02 14:23:03
+0
@JoachimPileborg好吧,我編輯它只是簡單地跳過最後一個,如果不完整,現在更簡單了。 – tux3 2015-03-02 14:28:34
相關問題
- 1. 將結構添加到字節向量,然後再添加另一個
- 2. 向數據框添加一個向量值列 - 總結(df)
- 3. 將元素從一個向量移動到另一個向量
- 4. 向量的每個元素添加到另一個向量
- 5. 將元素從一個向量移動到另一個向量C++
- 6. C++將元素從一個向量移動到另一個向量
- 7. 將一個向量的元素複製到另一個向量
- 8. 添加一個字符串到另一個字符串轉向雙或字符,然後計算結果
- 9. C++用另一個向量擴展一個向量
- 10. 將值從一個向量複製到另一個向量(從書本)
- 11. 從一個存儲在另一個向量中創建一個變量向量
- 12. C++ push_back()一個結構到一個向量中
- 13. 如何從一些結構總結多個向量Clojure中
- 14. 向矢量添加一個
- 15. 向量指向另一個向量
- 16. 將一個向量複製到一個結構中
- 17. 如何添加多個後綴到一個向量字符串
- 18. 如何在C++中使用指向一個結構的向量?
- 19. 根據另一個向量中的ID行列總結
- 20. 向一個向量輸出函數結果
- 21. 積累結果列表到一個字典
- 22. 給定一個矢量,應用一個函數到另一個向量
- 23. 總結了一個數組,然後乘以一個字典
- 24. 用flatbuffers寫一個結構向量
- 25. 向量中的結構,一個向量包含8000個成員
- 26. 如何在兩個向量上操作並將結果保存到另一個向量中
- 27. 在另一個末尾添加一個向量
- 28. 在Matlab中通過另一個向量遍歷一個向量
- 29. 將一個向量附加到另一個末端並對一個向量進行排序
- 30. 向每個implode添加一個變量
到底是什麼問題嗎? – Borgleader 2015-03-02 14:04:49
如果你看['std :: accumulate'](http://en.cppreference.com/w/cpp/algorithm/accumulate)它需要一對迭代器作爲參數。而矢量迭代器是隨機訪問的,所以你可以很容易地做'myVector.begin()+ 12'獲得向量的第13個元素的迭代器。 – 2015-03-02 14:09:47
@Borgleader如何從我的降雨量向量中一次添加12個元素,然後將結果添加到新的向量中。 – louiej15 2015-03-02 14:12:12