私は行列全体をランダムな位置Xに移動しなければなりません:いくつかの位置から2次元配列を反復する方法は?
私はそれをその位置の値と比較します(単純化するために、行列の唯一の部分はXです)。 Xが0で開始された場合、これは簡単だろうやってますが、私の場合にはXピースがマトリックス内の任意の位置で開始することができますが、今私が最初にこのループを開始しました:
for(int i = row_x;i<rows;i++)
for(int j = col_x;j<cols;j++)
//do something
しかし、それをやっては、私だけを許可しますいくつかのフィールドを訪問する:vistied fields sample
そして、私はすべてのフィールドを訪問する必要があるが、この絵で強調表示:required
だから何がそれを修正する最も簡単な方法でしょうか?それはの最初の繰り返しであるかどうかをチェックする必要があり
init = rows*i+j;
for(int l = init; l<size;i++){
//do things
}
ありがとう、これは素晴らしい答えです。 –