首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

numeric上的牛逼,可以炒股了

2012-08-03 
numeric下的牛逼,可以炒股了。不用担心,你没有上当,数据计算,分析一系列的变化非常有用,例如分析股票的变化

numeric下的牛逼,可以炒股了。

不用担心,你没有上当,数据计算,分析一系列的变化非常有用,例如分析股票值的变化,所涉及的就是numeric的计算,请看,相信你不再害怕查文档,不再害怕函数原型

numeric上的牛逼,可以炒股了

分别解说:

下面是函数原型,不要被函数原型吓到了,下面有具体的代码。

1

template<class InIt, class T>
    T accumulate(InIt first, InIt last, T val);
template<class InIt, class T, class Pred>
    T accumulate(InIt first, InIt last, T val, Pred pr);

2

template<class InIt1, class InIt2, class T>
    T product(InIt1 first1, InIt1 last1,
        Init2 first2, T val);
template<class InIt1, class InIt2, class T,
    class Pred1, class Pred2>
    T product(InIt1 first1, InIt1 last1,
        Init2 first2, T val, Pred1 pr1, Pred2 pr2);
3
template<class InIt, class OutIt>
    OutIt adjacent_difference(InIt first, InIt last,
        OutIt result);
template<class InIt, class OutIt, class Pred>
    OutIt adjacent_difference(InIt first, InIt last,
        OutIt result, Pred pr);
4

template<class InIt, class OutIt>
    OutIt partial_sum(InIt first, InIt last,
        OutIt result);
template<class InIt, class OutIt, class Pred>
    OutIt partial_sum(InIt first, InIt last,
        OutIt result, Pred pr);

一:accumulate

#include<iostream>
#include<string>
#include<numeric>
#include<vector>
#include<functional>
using namespace std;
int jiayibai(int a,int b){
 return a+b*2;
}
int main(){
 int a[]={1,2,3,4,5,6,7,8,9,10};
 vector<int>v(a,a+10);
 int sum=accumulate(v.begin(),v.end(),0);
 cout<<sum<<endl;
 int sum1=accumulate(v.begin(),v.end(),0,jiayibai);
 cout<<sum1<<endl;
 int sum2=accumulate(v.begin(),v.end(),0,minus<int>());
 cout<<sum2<<endl;
 system("pause");
 return 0;
}

numeric上的牛逼,可以炒股了

二:inner_product

#include<iostream>
#include<string>
#include<vector>
#include<functional>
#include<numeric>
using namespace std;
int xiangjian (int x, int y) {return x-y;}
int xiangjia (int x, int y) {return x+y;}

int main(){
 int a[]={1,2,3,4,5};
 int b[]={5,4,3,2,1};
 vector<int>v(a,a+5);
 vector<int>vv(b,b+5);
 int ji1=inner_product(v.begin(),v.end(),vv.begin(),0);
 cout<<ji1<<endl;
 int ji2=inner_product(v.begin(),v.end(),vv.begin(),0,xiangjian,xiangjia);
 cout<<ji2<<endl;
 int ji3=inner_product(v.begin(),v.end(),vv.begin(),0,minus<int>(),divides<int>());
 cout<<ji3<<endl;
 system("pause");
 return 0;
}

numeric上的牛逼,可以炒股了

 

三:adjacent_difference

#include<iostream>
#include<string>
#include<vector>
#include<numeric>
using namespace std;
int xiangjia(int a,int b){
 return a+b;
}
int main(){
 int a[]={1,3,5,7,10};
 vector<int>v(a,a+5);
 vector<int>vv(5);
 adjacent_difference(v.begin(),v.end(),vv.begin());
 for(vector<int>::iterator itera=vv.begin();itera!=vv.end();++itera){
  cout<<*itera<<" ";
 }
 cout<<endl;
 adjacent_difference(v.begin(),v.end(),vv.begin(),xiangjia);
 for(vector<int>::iterator iterb=vv.begin();iterb!=vv.end();++iterb){
  cout<<*iterb<<" ";
 }
 cout<<endl;
 adjacent_difference(v.begin(),v.end(),vv.begin(),minus<int>());
 for(vector<int>::iterator iterc=vv.begin();iterc!=vv.end();++iterc){
  cout<<*iterc<<" ";
 }
 cout<<endl;
 system("pause");
 return 0;
}

numeric上的牛逼,可以炒股了

 

四:partial_sum

#include<iostream>
#include<string>
#include<vector>
#include<numeric>
#include<functional>
using namespace std;
int xiangjia(int a,int b){
 return a+b;
}
int main(){
 int a[]={4,5,7,3,6};
 vector<int>v(a,a+5);
 vector<int>vv(5);
 partial_sum(v.begin(),v.end(),vv.begin(),xiangjia);
 for(vector<int>::iterator itera=vv.begin();itera!=vv.end();++itera){
  cout<<*itera<<" ";
 }
 cout<<endl;
 partial_sum(v.begin(),v.end(),vv.begin());
 for(vector<int>::iterator iterb=vv.begin();iterb!=vv.end();++iterb){
  cout<<*iterb<<" ";
 }
 cout<<endl;
 partial_sum(v.begin(),v.end(),vv.begin(),multiplies<int>());
 for(vector<int>::iterator iterc=vv.begin();iterc!=vv.end();++iterc){
  cout<<*iterc<<" ";
 }
 cout<<endl;
 system("pause");
 return 0;
}
numeric上的牛逼,可以炒股了

 

热点排行