所以我是新手。我正在尝试编写一个带函数的程序
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;
}
答案 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)
显然完全相同的问题,逐字逐句,在这里: