从矢量C中的元素减去值

前端之家收集整理的这篇文章主要介绍了从矢量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] );
}

猜你在找的C&C++相关文章