计算矩阵边缘元素之和

markpan 2023-03-07 11:59:29 6 返回题目

#include using namespace std;

int main() { int a[100][100]; int m,n; cin >> m >> n; int sum = 0; //需要考虑到1X1 1X2 2X1 2X2的情况,以上情况只需要元素相加即可
if((m > 2)&&(n > 2)){ for(int i = 0;i < m;i++){ for (int j = 0; j < n;j++){ cin >> a[i][j];
} } //第一行元素相加 for (int i = 0;i < n;i++){ sum += a[0][i]; } //第一列元素相加 for (int i = 0;i < m;i++){ sum += a[i][0]; } //第m行元素相加 for (int i = 0;i < n;i++){ sum += a[m-1][i]; }
//第n列元素相加 for (int i = 0;i < m;i++){ sum += a[i][n-1]; }

    //减去四个角的重复元素
    sum = sum - a[0][0] - a[0][n-1] - a[m-1][0] - a[m-1][n-1];

}
else{
    for(int i = 0;i < m;i++){
        for (int j = 0; j < n;j++){
            cin >> a[i][j];   
            sum += a[i][j];
        }
    }
}

cout << sum;

return 0;

}

{{ vote && vote.total.up }}