6-3 创建函数模板实现求数组中的最小元素 (10 分)
创建一个函数模板实现求数组中的最小元素,在主函数将分别使用该模板求整形数组和double型数组中的最小元素并输出。
输入:
6 (整型数组中的元素个数)
8 3 4 1 6 9 (整型数组中的元素)
5 (双精度浮点数数组中的元素个数)
2.7 3.1 9.8 5.3 7.6 (双精度浮点数数组中的元素)
输出:
1
2.7
函数模板接口定义:
T Min(T *p, int len)
其中 p 和 len 都是用户传入的参数。 p 是数组元素的起始地址; len 是数组的长度。
裁判测试程序样例:
#include <iostream>
using namespace std;
// 你提交的代码将嵌入到这里
int main( )
{
int n,m,*pn,i=0;
cin>>n;
pn=new int[n];
do{
cin>>pn[i];
i++;
}while(i<n);
double *pd;
i=0;
cin>>m;
pd=new double[m];
do{
cin>>pd[i];
i++;
}while(i<m);
cout<<Min(pn,n)<<endl;
cout<<Min(pd,m)<<endl;
delete [ ] pn;
delete [ ] pd;
return 0;
}
输入样例:
9
8 2 7 6 4 5 3 1 0
7
3.1 9.6 5.8 2.7 6.3 7.0 8.5
输出样例:
0
2.7
代码
template <class T1,class T2>
T1 Min(T1 *p,T2 len)
{
int j;
T1 min=p[0];
for(j=0;j<len;j++)
{
if(p[j]<min) min=p[j];
}
return min;
}