zoukankan      html  css  js  c++  java
  • 9. 计算内积函数

    题目:

    编写一个模板函数 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,因为数组元素为数字,可以这样初始化。

  • 相关阅读:
    天才绅士少女助手克里斯蒂娜「推柿子」
    sum「莫队」
    simple,跳楼机,[同余系最短路]
    ceoi「chase」
    jzoj5195 数的划分
    lcis
    rectangle
    w
    v·y「状压dp」
    分手是住院「期望dp」
  • 原文地址:https://www.cnblogs.com/Hello-Nolan/p/12304016.html
Copyright © 2011-2022 走看看