矩阵对角线
已知一个n*n(2<=n<=100)的矩阵,把矩阵两条对角线上的元素值仅加上一次m(m<=1000),然后输出这个新矩阵。
Input
第一行,输入两个整数n,m(2<=n<=100,m<=1000),分别表示矩阵的大小与所需要加的值 跟在第一行之后,为一个n*n矩阵,每个元素的值均在-1000~1000范围内
Output
按要求输出新矩阵,请注意格式,矩阵中的每一个元素的域宽为5
Examples
input
6 10 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
output
11 2 3 4 5 16 1 12 3 4 15 6 1 2 13 14 5 6 1 2 13 14 5 6 1 12 3 4 15 6 11 2 3 4 5 16
答案:
#include <iostream>
using namespace std;
int a[105][105];
int main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
for (int i = 0; i < n; i++) {
if (a[i][i] == a[i][n - 1 - i]) {
a[i][i] += m;
continue;
}
a[i][i] += m;
a[i][n - 1 - i] += m;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%5d", a[i][j]);
}
cout << endl;
}
return 0;
}