簡體   English   中英

C ++中向量中元素的除法

[英]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<>());
}

注意+ 1vec.cbegin()vec[0]作為起始值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM