微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从矢量C中的元素减去值

我有两个带有值的向量
2.123,2.111,9.222
1.22,4.33,2.113

我想要相互减去每个Vector的第一个元素,每个Vector的第二个元素,第三个元素.所以

abs(2.123-1.22)
abs(2.111-4.33)
abs(9.222-2.113)

我确定你必须创建一个for循环,但我不知道如何解决这个问题,因为我是C的新手.感谢大家的帮助.

以下代码是我所拥有的一般概念

std::vector<double> data1,vector<double> data2,vector<double> result;
std::cout << "Enter in data#1 ";
std::cin >> data1;

std::cout << "Enter in data#2 ";
std::cin >> data2;

for (int i=0;i<data1.size();i++){
    //start subtracting the values from each other and have them stored in another Vector

解决方法

如果您不知道这里所提出的标准算法,那么算法std :: transform可以使用普通的for语句编写一个等效的代码.例如
std::vector<double> a { 2.123,9.222 };
std::vector<double> b { 1.22,2.133 }; 
std::vector<double> c( a.size(),0.0 );


for ( std::vector<double>::size_type i = 0; i < a.size(); i++ )
{
   c[i] = std::abs( a[i] - b[i] );
}

原文地址:https://www.jb51.cc/c/113011.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐