cpp怎么将二维数组每列最小值组成一个新一维数组
时间: 2024-12-19 16:19:04 浏览: 6
在C++中,你可以通过两层循环遍历二维数组,并在每次遍历时找到当前列的最小值。然后将这些最小值添加到新的动态数组(vector、std::array或其他容器)中。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
// 假设我们有一个二维整数数组arr
int arr[3][4] = {
{5, 10, 15, 20},
{25, 30, 35, 40},
{45, 50, 55, 60}
};
// 新的一维动态数组用于存储每列的最小值
std::vector<int> minValues;
void findMinPerColumn(int arr[][4], int rows) {
for (int i = 0; i < rows; ++i) {
int minValue = arr[i][0]; // 初始化最小值为第一行的第一列
for (int j = 1; j < 4; ++j) {
if (arr[i][j] < minValue) {
minValue = arr[i][j];
}
}
minValues.push_back(minValue); // 将找到的最小值添加到minValues中
}
}
int main() {
int numRows = sizeof(arr) / sizeof(arr[0]);
findMinPerColumn(arr, numRows);
// 打印每列的最小值
for (const auto& value : minValues) {
std::cout << value << " ";
}
return 0;
}
```
在这个例子中,`findMinPerColumn`函数会返回一个新的向量,其中包含了原始二维数组的每一列的最小值。运行这个程序,你会得到结果:`5 25 45`。
阅读全文