题目描述
编写一个函数模板,求数组中的最大元素,并写出调用此函数模板的主函数,使得函数调用时,数组的类型可以是int型、double型和string类型。数组中元素个数3≤n≤20
主函数中,先从键盘输入各种类型数组的长度,再输入数组元素的值,调用函数求出最大值,再输出。
输入描述
输入共分6行
int型数组元素的个数
int型数组元素的值
double型数组元素的个数
double型数组元素的值
string类型数组元素的个数
string数组元素的值
输出描述
三行
int型数组中元素的最大值
double型数组中元素的最大值
string型数组中元素的最大值
#include <iostream>
#include <vector>
#include<algorithm>
#include <set>
#include <iterator>
using namespace std;
template<typename T>
T max(T* a, int n) {
int j = 0;
for (int i = 1; i < n; i++) {
if (a[i] > a[j]) {
j = i;
}
}
return a[j];
}
int main()
{
int q, w, e;
int a[20];
double b[20];
string c[20];
cin >> q;
for (int i = 0; i < q; i++)
cin >> a[i];
cin >> w;
for (int i = 0; i < w; i++)
cin >> b[i];
cin >> e;
for (int i = 0; i < e; i++)
cin >> c[i];
cout << max(a, q) << endl;
cout << max(b, w) << endl;
cout << max(c, e) << endl;
return 0;
}