C++ 尝试修改和显示二维阵列时出错
我已在main中创建了以下数组:C++ 尝试修改和显示二维阵列时出错,c++,arrays,C++,Arrays,我已在main中创建了以下数组: int arrayOne[40][60]; 我试图用它做两件事: 使用执行此操作的函数修改其内容 显示已修改的阵列 这可能看起来很基本,但是,我似乎收到了错误消息 我正在尝试使用以下命令显示我的阵列: void disArray(int [][60]); // function prototype disArray(arrayOne); //function call in main /*Actual function I use b
int arrayOne[40][60];
我试图用它做两件事:
void disArray(int [][60]); // function prototype
disArray(arrayOne); //function call in main
/*Actual function I use below */
void disArray(int diArray[][60]) {
for (int r = 10; r < 30; c++) {
for (int c = 10; c < 50; r++) {
cout << diArray[r][c] << " ";
}
cout << endl;
}
}
但是,它似乎不起作用
如果有人能教你如何显示这样大小的数组并有选择地修改它,那就太好了!(请不要将此标记为已在别处回答,因为我已经阅读了许多其他帖子&它们没有真正的帮助……对于熟悉数组的人来说,回答此问题只需不到5分钟)局部非静态变量未初始化,其内容不确定。尝试使用它们而不是初始化它们(例如打印它们的值)会导致未定义的行为 如果要将数组初始化为全零,则需要显式执行此操作:
int arrayOne[40][60] = { 0 };
要在函数中修改它,请按常规操作:
void setElement(int array[][60], size_t row, size_t col, int value)
{
array[row][col] = value;
}
...
setElement(arrayOne, 10, 20, 123);
上述代码将值
123
赋给arrayOne[10][20]
是否arrayOne
为局部变量,即是否在另一个函数中声明?请尝试创建一个并向我们展示,包括数组相对于其他代码的实际声明。arrayOne是在int main()中声明的局部变量@StillLearning请发布一篇文章以获得诊断错误的帮助。您尚未声明变量r
对不起,这是我第二次使用stackOverflow。。。我尽可能多地输入了我认为必要的代码,但也许我输入的代码太多了。然而,这不应该阻止某人回答我希望的问题。下次我将尝试遵循适当的指导原则。谢谢。我该如何修改数组的内容?@StillLearning刚刚分配给您要修改的元素?矩阵中的每个元素都可视为一个简单变量。例如,请参见我在回答中添加的示例函数。当然,索引不需要是文本值,它们也可以是变量,如图所示
void setElement(int array[][60], size_t row, size_t col, int value)
{
array[row][col] = value;
}
...
setElement(arrayOne, 10, 20, 123);