将一个n*n的二维数组右对角设置为零 c++代码
时间: 2024-03-05 15:51:25 浏览: 56
以下是将一个n*n的二维数组右对角设置为零的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入n的值:" << endl;
cin >> n;
int a[n][n];
cout << "请输入数组元素的值:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
cout << "原始数组:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
// 将右对角设置为零
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i + j == n - 1) {
a[i][j] = 0;
}
}
}
cout << "处理后的数组:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
首先,我们定义一个n*n的二维数组a,然后通过循环输入数组元素的值。
接着,我们将原始数组输出,然后将右对角元素设置为零。右对角元素的特点是行下标和列下标之和等于n-1,因此我们可以通过两层循环遍历数组,判断当前元素是否位于右对角,并将其值设置为零。
最后,我们输出处理后的数组,完成程序。
阅读全文