我创建了一个随机整数存储在每个位置的二维数组。我的问题是,我想比较每个行元素与下两个,每个列元素与下两个,所以没有相同的数字连续生成3次在行或列。 例如:数组最好应像=如何比较C++中二维数组的行和列?
1 1 2 3 0 2 4 4
3 2 2 1 0 2 1 1
0 0 5 2 0 4 3 2 //no 3 same in rows or columns..
而且没有类似:
1 1 2 3 0 4 4 4
3 2 2 1 0 2 1 1
0 0 2 2 0 4 3 2
我写我的代码比较阵列第一行,如果有任何变化的值相同,然后行完成后,它会检查列。现在我的代码有时候工作,有时却不工作。谁能告诉我我要去哪里?这里是我的代码:
int array_1[10][15] = { { 0 } }; //creates a new 2-D array with zeros.
for (int row = 0; row<10; row += 1) //puts random values in array in range 0 to 5
{
for (int col = 0; col <15; col += 1)
{
array_1[row][col] = rand() % 6;
}
}
for (int row = 0; row <8; row++)
{
for (int col = 0; col <13; col++)
{
if (array_1[col][row] == array_1[col][row + 1] && array_1[col][row]== array_1[col][row + 2]) // checks each row for 3 consecutive
{
array_1[col+1][row] = rand()%6;
}
if (array_1[col+1][row] == array_1[col + 1][row] && array_1[col][row] == array_1[col + 1][row]) // checks each column for 3 consecutive
{
array_1[col][row] = rand()%6;
}
}
}
请不要从C++使用任何内置的功能,我想只用逻辑和比较语句来做到这一点。
您是否尝试通过调试程序逐步调试代码? –
是的..但是调试器没有检测到任何错误,因为代码确实运行了。只是不是我想要的。 –
这不是一个调试器,那是编译器。调试器是一种工具,可让您逐步浏览代码并观察它的执行方式。这是一个很好的阅读:http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – NathanOliver