编写一个使用数组类模板对数组求最大值和求元素和的程序
展开全部
#include <iostream>
using namespace std;
template <class T>
T max(T a[], int n)
{
if ( 0 != n)
{
T tmp = a[0];
for (int i=1; i<n; ++i)
{
if (a[0] < a[i])
{
tmp = a[i];
}
}
return tmp;
}
}
int main(void)
{
int a[4] = {1, 4, 2, 6};
int result = max(a, 4);
cout << result << endl;
return 0;
}
另外求元素和 你参考下 应该很容易的写出来。。。
VC++ 6.0 验证
using namespace std;
template <class T>
T max(T a[], int n)
{
if ( 0 != n)
{
T tmp = a[0];
for (int i=1; i<n; ++i)
{
if (a[0] < a[i])
{
tmp = a[i];
}
}
return tmp;
}
}
int main(void)
{
int a[4] = {1, 4, 2, 6};
int result = max(a, 4);
cout << result << endl;
return 0;
}
另外求元素和 你参考下 应该很容易的写出来。。。
VC++ 6.0 验证
展开全部
#include<iostream> /1 编译预处理命令
using namespace std; //使用命名空间std
//声明数组类模板
template<classElemType> class ArrayAlg public:11 公有函数
static ElemType Max(ElemType al,int n) /1求最大值
ElemTypem=a[0]: //设a[0]最大
for(inti=1i<ni++)
if(a[]>m)m=a[]; 11依次比较求最大值
return m; 11返回蕞大值
static ElemType Sum(ElemTypealintn) 1求元素之和
ElemTypes=0;/1定义变量
for(inti=1:i<n;i++)
s=s+a[]; //依次求和
return s;
intmain() //主函数main()
{
inta[]= {1,9,7,5,6,3}; // 定义数组a
intn=6; /1数组元素个数
for(inti=0;i<n;i++)
cout << a[i] << " ": 11输出元素值
cout<<endl: 11 换行
cout<<"最大值为:"<<ArrayAlg<int>::Max(an)<<endl; cout<<"各元素和为:"<<ArrayAlg<int>::Sum(an)<<endl;
system("PAUSE);//调用库函数system().输出系统提示信息
return0;
using namespace std; //使用命名空间std
//声明数组类模板
template<classElemType> class ArrayAlg public:11 公有函数
static ElemType Max(ElemType al,int n) /1求最大值
ElemTypem=a[0]: //设a[0]最大
for(inti=1i<ni++)
if(a[]>m)m=a[]; 11依次比较求最大值
return m; 11返回蕞大值
static ElemType Sum(ElemTypealintn) 1求元素之和
ElemTypes=0;/1定义变量
for(inti=1:i<n;i++)
s=s+a[]; //依次求和
return s;
intmain() //主函数main()
{
inta[]= {1,9,7,5,6,3}; // 定义数组a
intn=6; /1数组元素个数
for(inti=0;i<n;i++)
cout << a[i] << " ": 11输出元素值
cout<<endl: 11 换行
cout<<"最大值为:"<<ArrayAlg<int>::Max(an)<<endl; cout<<"各元素和为:"<<ArrayAlg<int>::Sum(an)<<endl;
system("PAUSE);//调用库函数system().输出系统提示信息
return0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询