用C ++编写程序,我需要帮助

时间:2012-06-06 03:51:41

标签: c++ function

所以我是新手。我正在尝试编写一个带函数的程序

double_product(向量< double> a,向量< double> b)计算两个向量的标量积。标量产品是

$ A_ {0} B_ {0} + A_ {1} B_ {1} + ... A_ {N-1} {B_ n-1个} $

这就是我所拥有的。这是一团糟,但我正在努力!

#include<iostream>

#include<vector>

using namespace std;

class Scalar_product
{

public:

    Scalar_product(vector<double> a, vector<bouble> b);

};


double scalar_product(vector<double> a, vector<double> b) 
{

   double product = 0;

   for (int i=0; i <=a.size()-1; i++)

       for (int i=0; i <=b.size()-1; i++)

           product = product + (a[i])*(b[i]);

   return product;

}

int main()
{

    cout << product << endl;

    return 0;

}

2 个答案:

答案 0 :(得分:2)

从根本上讲,你有一个非常正确的想法。额外的几个基本构建块,你将在你的路上很好。你的scalar_product功能很接近,但并不完全。您已经创建了两个循环迭代器,它们使用相同的名称迭代相同的值。简单地说

应该没问题
if (a.size() != b.size()) {} // error
for (int i=0; i < a.size(); i++)
   product = product + (a[i])*(b[i]);

现在你所要做的就是获取一些数据,调用它,然后输出结果。

int main() {
    std::vector<double> a;
    std::vector<double> b;
    // fill with the values
    std::cout << scalar_product(a, b) << endl;
}

这里完全没有class这个东西 - 你需要的唯一类来自标准库。

答案 1 :(得分:2)

由于我不能发表评论,我不得不回复。

显然完全相同的问题,逐字逐句,在这里:

Computing the scalar product of two vectors in C++

相关问题