直接代码如下:
//数值计算
//accumulate
#include<iostream>
#include<string>
#include<algorithm>
#include<numeric>
#include<functional>
#include<vector>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
vector<int>v(a,a+10);
int max=accumulate(v.begin(),v.end(),0);
cout<<max<<endl;
int jianyibai=accumulate(v.begin(),v.begin()+4,1,multiplies<int>());
cout<<jianyibai<<endl;
system("pause");
return 0;
}
//inner_product
#include<iostream>
#include<string>
#include<vector>
#include<numeric>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,7,9,10};
vector<int>v(a,a+10);
vector<int>vv(a,a+10);
int max=inner_product(v.begin(),v.end(),vv.begin(),1);
cout<<max<<endl;
cout<<inner_product(v.begin(),v.begin()+5,vv.begin(),1,multiplies<int>(),plus<int>());
cout<<endl;
system("pause");
return 0;
}
//partial_sum
#include<iostream>
#include<string>
#include<vector>
#include<numeric>
#include<algorithm>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6};
vector<int>v(a,a+6);
partial_sum(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
partial_sum(v.begin(),v.end(),ostream_iterator<int>(cout," "),multiplies<int>());
cout<<endl;
system("pause");
return 0;
}
//adjacent_difference
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<numeric>
#include<functional>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
vector<int>v(a,a+10);
adjacent_difference(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
adjacent_difference(v.begin(),v.end(),ostream_iterator<int>(cout," "),plus<int>());
cout<<endl;
system("pause");
return 0;
}
本文介绍了使用C++标准库中的数值计算算法,包括accumulate、inner_product、partial_sum及adjacent_difference的用法示例。通过具体的代码展示了如何对数组进行求和、内积、部分求和以及相邻元素差值等操作。
82

被折叠的 条评论
为什么被折叠?



