【发布时间】:2021-01-13 04:29:12
【问题描述】:
这段代码只能返回一个矩阵中的最小元素,但是如果我想返回每一行中的最小元素呢?我需要在 C++ 中使用递归函数。感谢您的帮助
#include<iostream>
using namespace std;
int smallest(int** arr, int rows, int columns, int column_index = 0)
{
if (rows <= 0 || column_index >= columns)
return INT_MAX;
if (rows == 1)
return min(*(*arr + column_index),
smallest(arr, 1, columns - 1,
column_index + 1));
return min(smallest(arr, 1, columns),
smallest(arr + 1, rows - 1, columns));
}
int main()
{
int row, col, index=0;
cin >> row;
cin >> col;
int** arr;
arr = new int* [row];
for (int i = 0; i < row; i++) {
arr[i] = new int[col];
for (int j = 0; j < col; j++) {
cin >> arr[i][j];
}
}
cout<<smallest(arr, row, col, index);
return 0;
}
【问题讨论】:
标签: c++ algorithm recursion min function-definition