#include #include

using namespace std;

double dotProduct(const vector& v1, const vector& v2) { if (v1.size() != v2.size()) { throw invalid_argument("Vector sizes do not match"); }

double result = 0.0;
for (size_t i = 0; i < v1.size(); i++) {
    result += v1[i] * v2[i];
}

return result;

}

int main() { vector v1 = {1.0, 2.0, 3.0}; vector v2 = {4.0, 5.0, 6.0};

try {
    double product = dotProduct(v1, v2);
    cout << "Dot product: " << product << endl;
} catch (const exception& e) {
    cout << "Error: " << e.what() << endl;
}

return 0;

}

在上述代码中,我们定义了一个名为dotProduct的函数,它接受两个vector<double>类型的参数v1v2,并返回它们的点积结果。在函数中,我们首先检查两个向量的大小是否相等,如果不相等,则抛出一个异常。然后,我们使用一个循环遍历两个向量的元素,并将对应位置的元素相乘后累加到result变量中。最后,我们在main函数中创建两个向量v1v2,并调用dotProduct函数计算它们的点积。

运行上述代码,将输出结果为:

Dot product: 32

原文地址: https://www.cveoy.top/t/topic/pHQZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录