我創建了一個隨機整數存儲在每個位置的二維數組。我的問題是,我想比較每個行元素與下兩個,每個列元素與下兩個,所以沒有相同的數字連續生成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