n行m列的二维数组中,行为列的sin,编写函数,用指针做函数参数的方式,求该二维数组中的最大值和最小值,在主函数中将最大值和最小值输出。
时间: 2023-12-22 17:04:01 浏览: 36
好的,我来给您编写这个函数,函数名为 `findMinMax`,代码如下:
```c++
void findMinMax(double** arr, int n, int m, double* minVal, double* maxVal) {
*minVal = arr[0][0];
*maxVal = arr[0][0];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] < *minVal) {
*minVal = arr[i][j];
}
if (arr[i][j] > *maxVal) {
*maxVal = arr[i][j];
}
}
}
}
```
这个函数接受三个参数,第一个参数是一个二维数组的指针,第二个参数是数组的行数,第三个参数是数组的列数。函数通过指针将该二维数组中的最小值和最大值返回给调用者。
在主函数中,您可以这样调用该函数:
```c++
double arr[n][m] = {
{sin(0), sin(1), sin(2), ... , sin(m-1)},
{sin(0), sin(1), sin(2), ... , sin(m-1)},
...
{sin(0), sin(1), sin(2), ... , sin(m-1)}
};
double minVal, maxVal;
findMinMax((double**)arr, n, m, &minVal, &maxVal);
cout << "最小值:" << minVal << endl;
cout << "最大值:" << maxVal << endl;
```
其中, `(double**)arr` 将二维数组的地址转换为一个指向 `double*` 类型的指针。`&minVal` 和 `&maxVal` 分别表示了最小值和最大值变量的地址,将其传入函数中,可以让函数通过指针修改这些变量的值。
希望这个函数可以帮助到您!