【发布时间】:2020-02-01 16:07:12
【问题描述】:
我正在创建一个依赖于一组二维数组的程序。在我目前正在处理的部分中,用户首先输入所需的(方形'边)大小,并且程序应该初始化所有数组并用 0 填充它们,除了 0 行和列,其中标签是成为。生成的数组必须看起来像这样:
0 1 2 3 4 ...
1 0 0 0 0 ...
2 0 0 0 0 ...
3 0 0 0 0 ...
4 0 0 0 0 ...
...
我编写的代码看起来不错,但是一旦实现了标签,整个内部(标签不受影响)开始填充一些随机数,大约每第二个字段出现 0。这段代码暂时可以独立工作,但我会将一些变量移到全局范围以连接这些部分:
int show_Board(int size){
size++;
int board[size][size];
int i=0, x=0;
for (i=0; i<size; i++){ //filling up the array
for (x=0; x<size; x++){
board[i][x]=0;
}
for (i=0; i<=size; i++){ //filling in labels on the borders
board[i][0]=i; // only row 0 breaks if this loop is disabled
for (x=0; x<=size; x++){
board[0][x]=x;
}
}
}
for (i=0; i<size; i++){ //displaying the result
for (x=0; x<size; x++){
cout <<" "<< board[i][x];
}
cout << endl;
}
}
int main(){
show_Board(20);
}
我的问题是如何使数组正确填充(即标签和 0)?
【问题讨论】:
-
当您使用调试器运行程序时,您看到了什么?这就是调试器的用途。如果您不知道如何使用调试器,这是一个学习如何使用调试器一次运行一行的好机会,监控所有变量及其值的变化,并分析程序的逻辑执行流程。知道如何使用调试器是每个 C++ 开发人员必备的技能,没有例外。在调试器的帮助下,您应该能够快速找到此程序以及您编写的所有未来程序中的所有错误,而无需向任何人寻求帮助。
-
感谢两位的建议。不幸的是,尝试使用调试器刚刚使我的开发崩溃,我似乎什至不知道如何打开所有文件备份,因此它们实际上正确地出现在项目树中,而不仅仅是单独的源代码文件。我还有很长的路要走
-
...和/或我现在无法理解调试器输出中有什么问题:/
标签: c++ arrays multidimensional-array