[英]Division of elements in vector in c++
我在c ++中有矢量,例如std::vector<double> v = {10.0, 5.0, 2.0}
。 我想按順序划分向量的所有元素,即10 / 5.0 = 2.0,然后將2.0 / 2.0划分為1。因此,最后的答案是向量的所有元素的划分。 有什么辦法可以使用某些STL函數或算法有效地做到這一點。 我不想使用for
循環。 謝謝您的幫助!!
正如@AlgirdasPreidžius在評論中提到的那樣(我在答案彈出之前就開始寫我的答案),您可能只是錯過了這樣一個事實,即算法應以第一個數字開頭而不是除以第一個數字。 這應該是您所期望的:
int main()
{
std::vector<double> vec = {10, 5, 2};
std::cout << std::accumulate(vec.cbegin() + 1, vec.cend(),
vec[0], std::divides<>());
}
注意+ 1
后vec.cbegin()
和vec[0]
作為起始值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.