编写一个函数模板,它的功能是计算一个类型为T的一维数组中的最大元素与最小元素,并返回最大元素与最小元素的和。 template <class T> T find(T arr[ ], size_t n);
时间: 2024-03-23 21:39:03 浏览: 43
下面是一个实现了上述功能的函数模板:
```c++
template <class T>
T find(T arr[], size_t n) {
T max_val = arr[0];
T min_val = arr[0];
for (size_t i = 1; i < n; ++i) {
if (arr[i] > max_val) {
max_val = arr[i];
}
if (arr[i] < min_val) {
min_val = arr[i];
}
}
return max_val + min_val;
}
```
这个函数模板使用了模板参数 T 来表示数组中元素的数据类型,使用了函数参数 n 来表示数组的大小。在函数体中,使用了一个 for 循环来遍历数组中的元素,并记录数组中的最大值和最小值。最后,返回最大值和最小值的和。
注意,这个函数模板只能用于一维数组。如果要处理多维数组,需要使用其他的函数模板或者手动编写代码来实现。
阅读全文