C++设计一个子函数作用是求一个二维数组中每行元素的最大值
时间: 2025-01-01 15:40:56 浏览: 10
在C++中,你可以创建一个名为`findMaxInRow`的函数,这个函数接受一个二维整数数组作为输入,并返回一个新的向量,该向量包含每个行的最大值。这里是一个简单的实现示例:
```cpp
#include <vector>
#include <algorithm>
// 函数模板,用于计算任意类型的二维数组的行最大值
template<typename T>
std::vector<T> findMaxInRow(const std::vector<std::vector<T>>& matrix) {
std::vector<T> row_maxes(matrix.size());
// 遍历矩阵的所有行
for (size_t i = 0; i < matrix.size(); ++i) {
// 使用内置max_element找到当前行的最大值
row_maxes[i] = *std::max_element(matrix[i].begin(), matrix[i].end());
}
return row_maxes;
}
int main() {
std::vector<std::vector<int>> arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
std::vector<int> max_values = findMaxInRow(arr);
for (int val : max_values) {
std::cout << "Row maximum: " << val << "\n";
}
return 0;
}
```
在这个例子中,`findMaxInRow`函数使用了C++标准库中的`std::max_element`来找到每一行的最大值,并将结果存储在一个新的`std::vector`中。
阅读全文