请用c++编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
时间: 2023-03-30 10:01:07 浏览: 145
好的,我可以回答这个问题。以下是函数 fun 的代码:
```c
int fun(int arr[][N], int row, int col) {
int sum = ;
for (int i = ; i < row; i++) {
for (int j = ; j < col; j++) {
if (i == || i == row - 1 || j == || j == col - 1) {
sum += arr[i][j];
}
}
}
return sum;
}
```
其中,N 是二维数组的列数,row 是二维数组的行数,arr 是二维数组的名称。函数的返回值是二维数组周边元素之和。
希望我的回答能够帮到你!
相关问题
该题目要求编写一个函数fun,函数的功能是求出二维数组周边元素素之和,并作为函数值返回。二维数组中的值赋给主函数传递。
好的,理解了您的要求。下面是 C++ 的示例代码:
```cpp
int fun(int arr[][N], int m, int n) {
int sum = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || i == m-1 || j == 0 || j == n-1) { // 判断是否为边界元素
sum += arr[i][j];
}
}
}
return sum;
}
```
其中,`arr` 是二维数组,`m` 和 `n` 分别是它的行数和列数,`N` 是二维数组的列数(需要在代码中定义),函数返回周边元素之和。
函数实现的思路是遍历数组中的所有元素,判断是否为边界元素(即是否在第一行、最后一行、第一列或最后一列),如果是,则将其累加到 `sum` 变量中。
注意,在实际使用时,需要在主函数中定义二维数组并传递给 `fun` 函数,如下所示:
```cpp
const int N = 5; // 定义列数
int arr[][N] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}};
int m = 4, n = N;
int sum = fun(arr, m, n);
cout << "周边元素之和为:" << sum << endl;
```
这里定义了一个 4x5 的二维数组,并将其传递给 `fun` 函数,最后输出周边元素之和。
本关任务:请编写一个函数fun,它的功能是:计算出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
好的,下面是函数fun的代码实现:
```c++
int fun(int M[][2], int row) {
int max_num = M[0][0];
for(int i = 0; i < row; i++) {
for(int j = 0; j < 2; j++) {
if(M[i][j] > max_num) {
max_num = M[i][j];
}
}
}
return max_num;
}
```
这个函数接收一个二维整型数组M和数组的行数row作为参数,使用两个for循环遍历整个数组,找到最大元素并将其记录在max_num中。最后将max_num作为函数的返回值。