码迷,mamicode.com
首页 > 其他好文 > 详细

9. 计算内积函数

时间:2020-02-13 17:00:26      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:测试   include   ios   res   result   形参   space   数组   inner   

题目:

编写一个模板函数 inner_product,返回值是∑a[i]*b[i] (i 从 0到 n - 1)。测试你的代码。

思路:

由题可知,本函数计算的是两个数组的内积。内积一般是数字,如整数,浮点数。函数返回值应该设置为与数组元素相同类型。

代码:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 template <typename T>
 5 T inner_product(const T* a, const T* b, int array_size) {
 6     T result = 0;
 7     for (int i = 0; i < array_size; ++i) {
 8         result += (a[i] * b[i]);
 9     }
10 
11     return result;
12 }
13 
14 int main() {
15     int a[5] { 0, 1, 2, 3, 4 };
16     int b[5] { 5, 4, 3, 2, 1 };
17     int result = inner_product(a, b, 5);
18     cout << "Inner product : " << result << endl;
19     
20     return 0;
21 }

代码中有几处需要说明:

第一,将形参声明为 const T*,因为函数不应该修改数组元素。

第二,函数内局部变量 result 初始化为 0,因为数组元素为数字,可以这样初始化。

9. 计算内积函数

标签:测试   include   ios   res   result   形参   space   数组   inner   

原文地址:https://www.cnblogs.com/Hello-Nolan/p/12304016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!