我有一个清除多维数组的方法。我用的不是两个循环,而是一个用于O(n)。在这样做时,我必须检查它是否在每一行中每次都达到数组的宽度。
我试着用模数来看看我是否等于宽度,或者是宽度的两倍等等,所以它会转到下一行。当i=0和m_width = 5时,调试器进入第二个代码块,但这是不正确的,所以我的算法肯定是错误的。我不经常使用模数,所以我确定这就是问题所在。我怎么才能解决这个问题?谢谢你的进阶。
// Clear the cells with the requested value.
for (int i = 0; i < size; i++)
{
// If the width has been reached, go to the next row.
if ((i % m_width) == 0)
{
row++;
col = 0;
} 发布于 2014-12-07 22:24:22
你的问题是,0模任何数都等于0。如果你在你的模数检查之前检查i>0,它应该能正确工作。
https://stackoverflow.com/questions/27348645
复制相似问题