假設我的2D陣列是:訪問對角線元素
int a[4][4] = {
1,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1
};
假設其存儲在一維數組作爲:
int b[16]={1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1};
一般而言,假設a
是尺寸爲m x n
和b
的尺寸爲mn
。 使用單一for loop
我希望能夠訪問所有的對角線元素,即輸出應爲1 1 1 1
我明白A[i][j] = B[i*n+j];
但如果我只使用一個for循環,我沒有一個j index
。
任何幫助將不勝感激。
編輯:
注意讓m = n用於所有實際目的。我使用的接口需要兩個單獨的行和列大小的變量。但我只用方矩陣工作。
在對角線'i = j'。順便說一句,當'm!= n'時對角線是什麼? –