How To Find The Location or Address Of The Particular Element In A 2D Array Using An Example?

Share Your Love

We evaluate address of an element in a 2D array in 2 ways

  1. Column Major Order
  2. Row Major Order

Column Major Order

The Formula is:

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

So, What is the meaning of this above equation? Explain one by one,

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.

So then go through the real time example,

Suppose, A[3,3] array elements are,

   1  2  3
A = 1=> [10,20,30]
    2=> [40,50,60]
    3=> [70,80,90]

If we represent this array in column wise then

Array Indices = Elements = Address (Each element size is 4 bytes because "int")
    [1,1]     = 10       = 1000
    [2,1]     = 40       = 1004
    [3,1]     = 70       = 1008
    [1,2]     = 20       = 1012
    [2,2]     = 50       = 1016
    [3,2]     = 80       = 1020
    [1,3]     = 30       = 1024
    [2,3]     = 60       = 1028
    [3,3]     = 90       = 1032

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

Base(A) = 1000
w = 4 bytes (Because each elements belongs to integer type assign memory size)
M = 3 (number of rows)
J = 3 (row number of element)
K = 2 (column number of element)

Now put these values in the above formula as below:

LOC (A [J, K]) = Base(A) + w [M (K-1) + (J-1)]
LOC (A [3, 2]) = 1000 + 4 [3 (2-1) + (3-1)]
               = 1000 + 4 [3 * 1 + 2]
               = 1000 + 4 [5]
               = 1000 + 20
               = 1020 (80 is a Element and actual address is 1020). 

Now,

Row Major Order

The formula is

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

So, What is the meaning of this above equation? Explain one by one,

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.

So then go through the real time example,

Suppose, A[3,3] array elements are,

         1  2  3
A = 1=> [10,20,30]
    2=> [40,50,60]
    3=> [70,80,90]

If we represent this array in row wise then

Array Indices = Elements  = Address (Element Size it's incremented)
[1,1]         =    10     =  1000
[1,2]         =    20     =  1004
[1,3]         =    30     =  1008
[2,1]         =    40     =  1012
[2,2]         =    50     =  1016
[2,3]         =    60     =  1020
[3,1]         =    70     =  1024
[3,2]         =    80     =  1028
[3,3]         =    90     =  1032

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

Base(A) = 1000
w = 4 bytes (Because each elements belongs to integer type assign memory size)
N = 3 (number of columns)
J = 3 (row number of element)
K = 2 (column number of element)

Now put these values in the above formula as below:

LOC (A [J, K]) = Base(A) + w [N (J-1) + (K-1)]
LOC (A [3, 2]) = 1000 + 4 [3 (3-1) + (2-1)]
               = 1000 + 4 [2 * 1 + 2]
               = 1000 + 4 [4]
               = 1000 + 16
               = 1016 (50 is a Element and actual address is 1016). 

If you find any issue and interested to rewrite it then contact us.

Share Your Love
Avatar photo
Lingaraj Senapati

Hey There! I am Lingaraj Senapati, the Founder of lingarajtechhub.com My skills are Freelance, Web Developer & Designer, Corporate Trainer, Digital Marketer & Youtuber.

Articles: 429

Newsletter Updates

Enter your email address below to subscribe to our newsletter