加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从矢量C中的元素减去值

发布时间:2020-12-16 06:01:58 所属栏目:百科 来源:网络整理
导读:我有两个带有值的向量 2.123,2.111,9.2221.22,4.33,2.113 我想要相互减去每个Vector的第一个元素,每个Vector的第二个元素,第三个元素.所以 abs(2.123-1.22)abs(2.111-4.33)abs(9.222-2.113) 我确定你必须创建一个for循环,但我不知道如何解决这个问题,因为我
我有两个带有值的向量
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] );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读