c++ - c++中向量中的元素除法
问题描述
我在 C++ 中有向量,例如std::vector<double> v = {10.0, 5.0, 2.0}
. 我想按顺序划分向量的所有元素,即 10/5.0 =2.0 然后 2.0/2.0 应该是 1。所以,最终的答案是向量的所有元素的划分。有什么方法可以有效地使用一些 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<>());
}
注意+ 1
之后vec.cbegin()
和vec[0]
作为起始值
推荐阅读
- c# - 是否可以在进程启动期间隐藏沙漏?
- amazon-web-services - AWS lambda 上的 Apache Beam 的 Spark Runner
- javascript - 当涉及到变量时,new Date() 返回相同的值
- azure - Azure 数据工厂中的 Azure Synapse 存储过程:是同步调用吗?
- azure - 通过 PowerShell 从本地 SQL Server 2016 将 dacpac 发布到 Azure SQL 托管实例失败“无法发布到 SQL Server 2014”
- reactjs - 如何调用 Solidity 函数从智能合约中返回以太币?
- flutter - 错误:必须返回非空值,因为返回类型 'Widget' 不允许为空
- javascript - 使用带有过滤数据集的 V-for 循环
- python - Python中使用VMD方法进行时间序列分解
- memory-management - 为什么我在释放可分配数组时一直有进程中止信号?