【发布时间】:2017-11-07 16:23:24
【问题描述】:
假设我的二维数组是:
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时对角线是什么?