我有一个清除多维数组的方法。而不是两个for循环,我使用一个for 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;
}
答案 0 :(得分:1)
你的问题是0模数任何数字都等于0.如果你检查i&gt;在模数检查之前,它应该正常工作。