首页 > 试题广场 >

若二维数组 a 有 m 列,则在数组元素 a[i][j] 前

[单选题]
若二维数组 a 有 m 列,则在数组元素 a[i][j] 前的元素个数为(   )

  • j * m + i
  • i * m + j
  • i * m + j - 1
  • j * m + i - 1
数组下标从0开始, a[i][j]实际上是第i+1行,第j+1列的元素, 求它前面的元素个数只需先算出它前面的i行元素总个数i*m,然后再加上它所在行的前j个元素。 也就是i*m+j
发表于 2019-10-10 16:46:25 回复(0)
数组从0开始。a[0][0]也是一个元素啊。不要忘记了
编辑于 2019-05-30 15:45:28 回复(2)
一般来说,都是默认数组下标是从0开始,矩阵是从1开始。。。只是一般情况!
发表于 2017-12-12 21:09:01 回复(0)
明白索引是从0开始的
发表于 2017-07-18 16:05:31 回复(2)
这道题目表述不严谨,没有说明数组是从A[0][0]开始还是A[1][1]开始 若从A[0][0]开始,m行n列 以行序为主:i*n+j 以列序为主:j*m+i 若从A[1][1]开始,m行n列 以行序为主:(i-1)*n+j-1 以列序为主:(j-1)*m+i-1
发表于 2017-11-14 10:08:13 回复(0)

(i * m + j - 1)-0+1=i * m + j

发表于 2017-09-29 11:09:20 回复(3)

我们先来看下面这个图

img

该二维数据共有 k 列,则说明其每一行的元素共有 k 个元素,然后 a[i] [j]位于第 i + 1 行,在其之前共有 i 行,则有 i * k 个元素,然后其又位于第 j+1列,在第 i+1 行***有 j 个元素在其前面。

故答案为 B. i*k+j

发表于 2023-06-02 21:58:59 回复(0)
这题有问题吧。
发表于 2022-02-21 07:33:07 回复(0)
二位数组通常是从a[0][0]开始的,题目求a[i][j]前面的元素个数;前面共有i行,本行本元素前面共有j个元素,因此前方共有i*m+j 个元素.
发表于 2021-03-19 14:04:05 回复(0)
做题时不要马虎,弄清两个点:i是对应行,j是对应列;索引从0开始。
另外不确定答案可以自己举一个简单的例子
发表于 2017-11-09 09:31:51 回复(1)
默认数组下标从0开始,如果题目没有特殊说明的话。
发表于 2023-08-21 20:05:21 回复(0)
数组从0开始。a[0][0]也是一个元素啊。不要忘记了
发表于 2022-07-21 20:34:49 回复(0)
画出表格状的二维数组(其实不是),先看目标元素上面有几行,(因为 i 从 0 开始,所以不算本行,前面就有 i 行),有 m 列,所以前面的 i 行就有 i * m 个小格子
现在看本行前面,( j 从 0 开始,所以不用多减),目标元素本行前面有 j 个元素
综上,有 m * i + j
发表于 2022-06-11 19:09:04 回复(0)
有m列,就是一行有m个元素,行列坐标从0开始,行优先就是i*m+j
发表于 2022-05-18 08:54:53 回复(0)
行列从0开始计算,所以除去第i行,之前有i行,前i行的元素个数为i*m,第i行中[i][j]排第j个,所以是m*i+j
发表于 2022-03-04 22:02:24 回复(0)
a[0][0]不要忘记
发表于 2022-02-24 12:50:35 回复(0)
一般数组下标从0开始
发表于 2020-03-24 18:24:06 回复(0)

说的是前面的元素的个数。而j由于是下标。所以恰好是当前元素前面的元素个数。

发表于 2019-11-06 22:25:25 回复(0)

这不说明一下行存储还是列存储吗

发表于 2018-09-27 14:52:47 回复(2)
数组索引从0开始
发表于 2018-08-10 15:41:32 回复(0)