|  | 
 
| 
报错:第19行,[Error] cannot convert 'int (*)[4]' to 'int*' for argument '1' to 'int sum_all(int*)'
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 
 复制代码题目要求:编写一个函数求4*4二维数组周边元素的和 
*/
/*
分析:
要想获得周围一圈的数值和,可以通过把所有数组加总后减去中间的四个数字来间接解决; 
*/ 
# include <iostream>
using namespace std;
// 声明 
int sum_all(int arr[]);
// 主函数部分
int main()
{
        int arr[4][4] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};
        // 调用求和函数
        cout<<"求和结果为:"<<sum_all(arr)<<endl;
 } 
 
// 求和函数 
int sum_all(int arr[4][4])
 {
         int sum;
         int total = 0;
        int circle = 0;
        for (int i = 0; i < 4; i++)
        {
                for (int j = 0; j < 4; j++)
                {
                        total += arr[i][j];
                }
        }
        for (int i = 1; i <= 2; i++)
        {
                for (int j = 1; j <= 2; j++)
                {
                        circle += arr[i][j];
                }
        }
        
        sum = total - circle;
        
        return sum; 
 }
/*
 分析:
 要想获得周围一圈的数值和,可以通过把所有数组加总后减去中间的四个数字来间接解决;
 */
 
 # include <iostream>
 using namespace std;
 
 // 声明
 int sum_all(int (*arr)[4]);//函数不能传多维数组,应该传多维数组的指针
 
 // 主函数部分
 int main()
 {
 int arr[4][4] = { {1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4} };
 // 调用求和函数
 cout << "求和结果为:" << sum_all(arr) << endl;
 }
 
 // 求和函数
 int sum_all(int (*arr)[4])//函数不能传多维数组,应该传多维数组的指针
 {
 int sum;
 int total = 0;
 int circle = 0;
 for (int i = 0; i < 4; i++)
 {
 for (int j = 0; j < 4; j++)
 {
 total += arr[i][j];
 }
 }
 for (int i = 1; i <= 2; i++)
 {
 for (int j = 1; j <= 2; j++)
 {
 circle += arr[i][j];
 }
 }
 
 sum = total - circle;
 
 return sum;
 }
 | 
 |