2014-11-15 80 views
0

我需要該圖像中分割2D陣列成塊等(我不能發佈圖像尚未)除以2維陣列成不等於矩形和正方形

如果主對角線= 1。然後我檢查下一個廣場。如果我有矩形,我只檢查點(0,0)和(1,1)。 數組可以分爲4 * 4,3 * 3,2 * 2的正方形。 我想那一定是這樣的

for (int i=start;i<start+len_of_square;i++) 
    for (int j=start;j<start+len_of_square;j++) 
     { 
      //do checking 
     } 

但它只會工作,如果陣列可以分爲相等的正方形。 有沒有一些算法來做到這一點?

+1

我不明白你在問什麼。 – Unihedron

+0

你需要一個相同的公式嗎? –

+0

我需要算法來做像在圖片中一樣的東西,並且把這個數組也分成3 * 3和2 * 2。 – romandemidov

回答

1

我不太瞭解堆棧溢出的規則和規定。檢查以下算法是否符合您的要求。而不是循環遍歷所有單元格,然後使用「if」按照以下方法逐個刪除。它會快得多,因爲迴路將運行的全陣列/除法倍長度僅

for(int i=0;i<length of full array/division && i<length of full array;i++) 
{ 
     for(int j=0;j<length of full array/division && j<length of full array;j++) 
     { 
      //do operation for array[divison*i][division*j] and array[divison*i+1][division*j+1] 
     } 
} 

它會檢查是否劃分爲4作爲每個圖象然後(0,0),(1,1),(0, 4),(1,5),(0,8),(1,9),(4,0)(5,1).... order

+1

如果你不太瞭解規則和規定,那麼這是你需要學習的第一件事。你應該完成[Tour](http://stackoverflow.com/tour) - 你獲得了徽章 - 你應該通過[Help center](http://stackoverflow.com/help)。如果你不這樣做,你一定會在很長一段時間內賺取很多低價​​。 – RealSkeptic