Describe the formula of finding the location (address) of particular element in 2D array using example.

1.       In case of Column Major Order:

The formula is:

LOC (A [J, K]) = Base (A) + w [M (K-1) + (J-1)]

Here

LOC (A [J, K])       :           is the location of the element in the Jth row and Kth column.

Base (A)                :           is the base address of the array A.

w                           :           is the number of bytes required to store single element of the array A.

M                           :           is the total number of rows in the array.

J                             :           is the row number of the element.

K                           :           is the column number of the element.

E.g.

A 3 x 4 integer array A is as below:

 10 20 50 60 90 40 30 80 75 55 65 79
 (1,1) (2,1) (3,1) (1,2) (2,2) (3,2) (1,3) (2,3) (3,3) (1,4) (2,4) (3,4)
 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022

Suppose we have to find the location of A [3, 2]. The required values are:

Base (A)                :           1000

w                           :           2 (because an integer takes 2 bytes in memory)

M                           :           3

J                             :           3

K                           :           2

Now put these values in the given formula as below:

LOC (A [3, 2]) = 1000 + 2 [3 (2-1) + (3-1)]

= 1000 + 2 [3 (1) + 2]

= 1000 + 2 [3 + 2]

= 1000 + 2 [5]

= 1000 + 10

= 1010

2.       In case of Row Major Order:

The formula is:

LOC (A [J, K]) = Base (A) + w [N (J-1) + (K-1)]

Here

LOC (A [J, K])       :           is the location of the element in the Jth row and Kth column.

Base (A)                :           is the base address of the array A.

w                           :           is the number of bytes required to store single element of the array A.

N                           :           is the total number of columns in the array.

J                             :           is the row number of the element.

K                           :           is the column number of the element.

E.g.

A 3 x 4 integer array A is as below:

 10 60 30 55 20 90 80 65 50 40 75 79
 (1,1) (1,2) (1,3) (1,4) (2,1) (2,2) (2,3) (2,4) (3,1) (3,2) (3,3) (3,4)
 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022

Suppose we have to find the location of A [3, 2]. The required values are:

Base (A)                :           1000

w                           :           2 (because an integer takes 2 bytes in memory)

N                           :           4

J                             :           3

K                           :           2

Now put these values in the given formula as below:

LOC (A [3, 2]) = 1000 + 2 [4 (3-1) + (2-1)]

= 1000 + 2 [4 (2) + 1]

= 1000 + 2 [8 + 1]

= 1000 + 2 [9]

= 1000 + 18

= 1018

http://
http://

Contributed by:
Rohit kakria
I am software developer