东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1425|回复: 0
打印 上一主题 下一主题

[C/C++] 求两个向量的内积inner_product(Cpp版)

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14446
QQ
跳转到指定楼层
楼主
发表于 2021-7-7 11:13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



求两个向量的内积inner_product(Cpp版)




  1. #include <iostream>
  2. #include <numeric>
  3. #include <deque>

  4. using namespace std;

  5. void print_deque(deque<int>& d){
  6.     for(deque<int>::iterator it=d.begin();it!=d.end();it++){
  7.         cout << "value=" << *it << ",";
  8.     }
  9.     cout << endl;
  10. }

  11. //求两个向量的内积inner_product(Cpp版)

  12. int main(){

  13.     deque<int> d1,d2;
  14.     for(int i=0;i<5;i++){
  15.         d1.push_back(i+1);
  16.         d2.push_front(i);
  17.     }
  18.     d2.push_back(5);
  19.     d2.push_back(6);
  20.     cout << "双端数组初始值:" << endl;
  21.     print_deque(d1);
  22.     print_deque(d2);
  23.    
  24.     int inner_d1_d2 = std::inner_product(d1.begin(),d1.end(),d2.begin(), 1);
  25.     //结果=1 + 1*4 + 2*3 + 3*2 + 4*1 + 5*0    = 21 对的
  26.     cout<<"d1与d2的内积(1)="<<inner_d1_d2<<endl;

  27.     inner_d1_d2 = std::inner_product(d1.begin(),d1.end(),d2.rbegin(), 2);
  28.     //结果=2 + 1*6 + 2*5 + 3*0 + 4*1 + 5*2   =  32 对的
  29.     cout<<"d1与d2的内积(2)="<<inner_d1_d2<<endl;

  30.     //应用指定的二元操作,使用第一个操作代替加而第二个操作代替乘
  31.     inner_d1_d2 = std::inner_product(d1.begin(),d1.end(),d2.begin(), 3,multiplies<int>(),plus<int>());
  32.     //结果=3 * (1+4) * (2+3) * (3+2) * (4+1) * (5+0)   = 9375 对的
  33.     cout<<"d1与d2的内积(3)="<<inner_d1_d2<<endl;
  34.     return 0;
  35. }

  36. /*
  37. 双端数组初始值:
  38. value=1,value=2,value=3,value=4,value=5,
  39. value=4,value=3,value=2,value=1,value=0,value=5,value=6,
  40. d1与d2的内积(1)=21
  41. d1与d2的内积(2)=32
  42. d1与d2的内积(3)=9375

  43. */

复制代码


让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-6-3 18:35 , Processed in 0.174214 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表