Problem Description
编写两个函数模板,分别完成输入数组,求数组中的最大元素。并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型。
Input
输入数据有多行,第一行有一个整数m,表示整型数组和双精度数组各有m个,接下来m行为整型数组,m行为双精度数组,每行的第一个数n为元素的个数,接下来有n个元素。
Output
对于每组输入数据,输出一行。
Sample Input
2 8 1 2 3 4 5 6 7 8 7 8 9 7 10 2 5 1 5 1.1 2.2 3.3 4.4 5.5 6 9.6 5.2 3.2 7.8 8.4 6.2
Sample Output
8 10 5.5 9.6
Author
Source
14信管期末复习上机练习A
Recommend
zh
#include<iostream>
using namespace std;
template<typename T>
T Max(T *a,int s=0)
{
int max=0;
for(int i=1;i<s;i++)
{
if(a[max]<a[i])
max=i;
}
return a[max];
}
int main()
{
int n;
while(cin>>n)
{
for(int j=0;j<n;j++)
{
int d;
int m;
cin>>m;
int a1[100];
for(int i=0;i<m;i++)
{
cin>>a1[i];
}
d=Max(a1,m);
cout<<d<<endl;
}
for( j=0;j<n;j++)
{
double d1;
int m1;
cin>>m1;
double a2[100];
for(int i=0;i<m1;i++)
{
cin>>a2[i];
}
d1=Max(a2,m1);
cout<<d1<<endl;
}
}
return 0;
}
本文介绍了一个使用模板函数实现的程序,该程序能够接收不同类型的数组(整型和双精度浮点型),并找到数组中的最大值。通过使用C++模板特性,实现了函数的泛型编程,使得同一函数能适用于多种数据类型。
1万+

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



