用c++建立求数组元素中最小值的函数模板 创建主函数,采用不同数据类型(int,double)的数组测试模板
#include <stdio.h>
//模板函数,求数组中的最大值
//参数含义:
//tArray:数组
//iLen:数组长度
template<typename T>
T GetMaxItem(T tArray[], int iLen)
{
T tTmp = tArray[0];
for (int i = 0; i < iLen; ++i)
{
if (tTmp < tArray[i])
{
tTmp = tArray[i];
}
}
return tTmp;
}
int main(int argc, char *argv[])
{
//int 型测试数组
int iArray[] = {1,4,6,7,8,9};
//double型测试数组
double dbArray[] = {23.45,55.67,11.222,2345.56,1.11};
printf("Max value in int array is:%d\n", GetMaxItem(iArray, sizeof(iArray)/sizeof(int)));
printf("Max value in double array is:%lf\n", GetMaxItem(dbArray, sizeof(dbArray)/sizeof(double)));
return 0;
}
运行截图:
using namespace std;
template<class numtype>
numtype Min(numtype *s,int len)
{
numtype min=s[0];
for(int i=0;i<len;i++)
{
if(s[i]<min)
min=s[i];
}
return min;
}
void main()
{
int a[]={1,2,3,4,5,0,7,8};
double b[]={5,1.2,9,5.1,0.4};
cout<<Min(a,sizeof(a)/sizeof(int))<<" "<<Min(b,sizeof(b)/sizeof(double))<<endl;
}
在C-FREE里运行是错误的啊。。。。
我用的VC6 已经运行过了
还有 程序是不存在问题的