#include using namespace std; int a[101][101]; int main(){
// 声明二维数组 (矩阵)
// 5 6 8
// 7 9 10
int A[2][3] = {5,6,8,7,9,10};
int B[2][3] = { {5,6,8} , {7,9,10}};
int C[ ][3] = {5,6,8,7,9,10};
int D[2][3] = { {1,2} , {3} };
// A[0][0] A[0][1] A[0][2]
// A[1][0] A[1][1] A[1][2]
// 遍历输入
// cin >> A[0][0] >> A[0][1] >> A[0][2];
// cin >> A[1][0] >> A[1][1] >> A[1][2];
int n, m;
cin >> n >> m;
// 外循环负责循环每行
for(int i = 1; i <= n; i++){
// 内循环负责循环一行当中的每一个元素
for(int j = 1; j <= m; j++){
//cout << "现在输入第 " << i << " 行";
//cout << "第 " << j << " 列的元素:" ;
cin >> a[i][j];
}
}
// 遍历输出
for(int i = 1; i <= n; i++){
// 内循环负责循环一行当中的每一个元素
for(int j = 1; j <= m; j++){
cout << a[i][j] << ' ';
}
cout << endl;
}
// 求所有元素的和(循环)
int sum = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
sum += a[i][j];
}
}
cout << "所有元素的和是:" << sum << endl;
cout << "所有元素的平均数是:" << 1.0 * sum / (n * m) << endl;
// 求所有元素的最大值及其坐标
int Max, MaxI, MaxJ;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
if(i == 1 && j == 1 || a[i][j] > Max){
Max = a[i][j]; // 记录下最大值
MaxI = i;
MaxJ = j;
}
}
}
cout << "最大值是:" << Max << endl;
cout << "最大值的坐标:" << MaxI << "," << MaxJ << endl;
// 输出特定行、特定列
// 特定行、列求和
int row, sumR = 0; // 某一行
cin >> row; // 比如 row=1 就输出第 1 行的所有元素
cout << "现在输出第" << row << "行的所有元素:";
// 行坐标固定,列坐标循环
for(int j = 1; j <= m; j++){
// cout << a[row][j] << ' ';
sumR += a[row][j];
}
cout << endl;
int col; // 列 column
cin >> col;
cout << "现在输出第" << col << "列的所有元素:";
// 列坐标固定,循环行坐标
for(int i = 1; i <= n; i++){
cout << a[i][col] << ' ';
}
// 边缘元素求和
// 2 5 8
// 6 7 9
// 7 7 10
int sum2 = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
// 走到的那个格子,是处于边缘,才加他
if(i == 1 || i == n || j == 1 || j == m){
sum2 += a[i][j];
}
}
}
// 对角线元素求和 (方阵) n * n
// (2) 5 8 7
// 6 (7) 9 4
// 7 7 (1) 3
// 1 2 3 (7)
int sum3 = 0;
for(int i = 1; i <= n; i++){
sum3 += a[i][i];
}
sum3 = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
// 走到的那个格子是处于对角线上,才加他
if(i == j){
sum3 += a[i][j];
}
}
}
// 求 (x,y) 的四周元素之和
// 2 5 8 7
// 6 7 9 4
// 7 7 1 3
// 1 2 3 7
// 求 a[x][y] 这个元素的上下左右四个邻居之和
int x, y, sum4 = 0;
cin >> x >> y;
// a[x][y] 左边那个邻居 : a[x][y-1]
// a[x][y] 右边那个邻居 : a[x][y+1]
// a[x][y] 上边那个邻居 : a[x-1][y]
// a[x][y] 下边那个邻居 : a[x+1][y]
return 0;
}