已知一个n*n(n<=100)的矩阵,把矩阵的主、次两条对角线的每个元素值加上x(运算保证在int范围内),然后输出矩阵。 Input 输入第一行为两正整数n,x。 接下来的n行,每行n个整数,整数间用空格隔开,表示矩阵元素的值。 Output 共n行,每行n个整数。每个整数之间用一空格隔开。 Sample Input 3 4 1 2 3 1 2 3 1 2 3 Sample Output 5 2 7 1 6 3 5 2 7 c++代码
时间: 2024-04-15 12:30:59 浏览: 159
您好!您可以使用以下的C++代码来实现您的需求:
```cpp
#include <iostream>
#include <vector>
int main() {
int n, x;
std::cin >> n >> x;
std::vector<std::vector<int>> matrix(n, std::vector<int>(n));
// 读取矩阵元素
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cin >> matrix[i][j];
}
}
// 更新主对角线元素
for (int i = 0; i < n; i++) {
matrix[i][i] += x;
}
// 更新次对角线元素
for (int i = 0; i < n; i++) {
matrix[i][n - 1 - i] += x;
}
// 输出矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
希望对您有所帮助!如有任何疑问,请随时提问。
阅读全文