我在 C++ 中有 vector ,类似于 std::vector<double> v = {10.0, 5.0, 2.0}
.我想按顺序划分 vector 的所有元素,即 10/5.0 =2.0,然后 2.0/2.0 应该是 1。因此,最终答案是 vector 的所有元素的划分。有什么方法可以有效地使用一些 STL 函数或算法。我不想使用 for
环形。感谢您的帮助!!
最佳答案
正如 @Algirdas Preidžius 在评论中提到的(我在它弹出之前就开始写我的答案),你可能只是错过了算法应该从第一个数字开始而不是 除以它。这应该是您所期望的:
int main()
{
std::vector<double> vec = {10, 5, 2};
std::cout << std::accumulate(vec.cbegin() + 1, vec.cend(),
vec[0], std::divides<>());
}
注意vec.cbegin()
和vec[0]
之后的+1
作为起始值
关于c++ - c++ vector 中元素的划分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343065/