Answer:
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:
Subscript Elements Address
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:
Subscript Elements Address
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