若二维数组a有m列,则在a[i][j]前的元素个数是多少?

怎么计算

0 1 2 3 4 . ...........m-1 // 0行
m m+1 m+2 m+3 m+4..........2*m-1 // 1行
2m 2m+1 2m+2 2m+3 2m+4........3m -1 // 2行
...........
a[i][j], 前面有 i 行,0~i-1,j 前面有j个元素,0~j-1

所以,a[i][j] 前面有 i * m + j个元素,前面有i行,最后一行前面有j个元素
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-13
因为c中数组的下表是从0开始的,这样,在aij前面就有i行(也就是0~i这么多行),每行m个数,那么在这一行前面就有i*m个数
在aij这一行中aij前面有j个数(也就是0~j这么多个数),那再加上j个数
这样算起来,aij前面就有i*m+j个数
第2个回答  2012-03-13
a[i][j]表示第i+1行,第j+1列,因此在a[i][j]前的元素个数是i*m+j
第3个回答  2012-03-13
i*m+j追问

怎么计算的

追答

a[i][j]表示第i+1行,第j+1列。因为下标都是从0开始的!
比如二维数组a有6列,求a[4][4]前面有多少个数
我们可以列出来看一下
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4] a[0][5]
a[1][0] a[1][1] a[1][2] a[1][3] a[1][4] a[1][5]
a[2][0] a[2][1] a[2][2] a[2][3] a[2][4] a[2][5]
a[3][0] a[3][1] a[3][2] a[3][3] a[3][4] a[3][5]
a[4][0] a[4][1] a[4][2] a[4][3] a[4][4] 。。。
。。。。。。
所以在a[4][4]前面有 4 * 6 + 4 个数,公式就是i*m+j

本回答被提问者采纳
相似回答