【发布时间】:2020-11-07 22:56:50
【问题描述】:
我在用 C++ 编程以使用 2D 数组进行模式化输出时遇到了一点困难,我使输出像这样的矩阵: 输入 4(用于第 4 列和第 4 行)
I I I I
0 0 I 0
0 I 0 0
I I I I
我已经尝试过这个我的程序。对于顶行和底行,我设法将值更改为 1
#include <iostream>
using namespace std;
int main(){
int elemen[100][100], n, i, j, k;
cout <<"input element = ";
cin >>n;
for(i = 0;i < n;i++){
for(j = 0;j < n;j++){
elemen[0][j] = 1;
elemen[n-1][j] = 1;
elemen[n-i][n-j] = 1;
cout <<elemen[i][j]<<" ";
}
cout<<endl;
}
}
但是上面的程序中出现的输出是这样的:
I I I I
0 0 0 0
0 0 I I
I I I I
而逻辑上它是正确的,我已经在非输入数组上尝试过。而逻辑上它是正确的,我已经在非输入数组上尝试过。因为如果我们输入数组元素 = 5,那么循环会自动将 5 的值一一减少。有没有人可以帮忙,如果你不明白,对不起,因为我目前仍在学习磨练我的逻辑
【问题讨论】:
标签: c++ arrays multidimensional-array