2-D Array
2-D Array
किसी 2-D Array में भी हम उसी प्रकार से Traversing कर सकते हैं जिस प्रकार से किसी 1-D Array में करते हैं | हालांकि Memory में सभी Data एक 1-D Array के रूप में ही Store होते हैं लेकिन किसी 2- D Array के Data को Logically हम निम्न Format में प्रदर्शित कर सकते हैं |
इस Array
में तीन Row व तीन ही Columns है | DOS में Monitor की Screen भी Rows
व Columns में विभाजित रहती है |
यानी
Screen
पर कुल 25 Rows व 80 Columns होते हैं | हम जब भी कोई Matter Screen पर लिखते हैं तो सबसे पहले पहली Row में Characters
write होते है | जब पहली Row में 80
Characters write हो जाते हैं तब वापस दूसरी Row में 80 Columns में Characters write होते है | यानी
हमारे Monitor
की Screen भी एक 2-D Array या एक Table की तरह ही होती है |
जिस तरह Screen
पर Characters write होते हैं उसी तरह किसी 2-D
Array में भी Characters Insert होते हैं |
यानी
यदि हमें किसी 2-D Array सबसे पहले पहली Row के सभी Columns में Data write करना होगा | जब
पहली Row
के सभी Columns में Data write हो जाएगा तब हमें वापस दूसरी Row के सभी Columns
में Data को Write करना
होगा |
2-D Array के चित्र में हम देख सकते हैं कि पहली Row का मान जब
0 होता है तब तीनों Columns का मान
क्रम से 0,1व 2
होता है | इसी
तरह दूसरी Row में Row का
मान 1 होता है तब Columns का मान
वापस 1,2 व 3
होता है |
यानी यदि हम किसी
2-D
Array में क्रम से Data Input करना चाहें तो
हमें दो Loop चलाने होते हैं पहला Loop Row के लिए व दूसरा Loop Column के लिए और Loop भी इसी तरह से चलाने होते हैं कि जब तक पहली Row के
सभी Columns में Data Feed ना हो जाएं
तब तक दूसरी Row में Data Feed नहीं
होना चाहिए | यानी
हमें Nested
Loop चलाना होता है |
Nested Loop में जब Outer Loop का मान 0 होता
है तब Inner Loop का मान क्रम से 1,2 व
3 होता है | फिर
वापस Outer
Loop का मान जब 1 होता है तब Inner
Loop का मान 1,2 व 3 होता है |
इसी
तरह हमें आगे भी Loop चलाने पड़ते हैं |
इन
सभी परिस्थितियों को ध्यान में रखते हुए तो किसी 2-D Array की Traversing करने का Algorithm हम निम्नानुसार लिख सकते हैं |
Algorithm
Here LARRAY is a Linear Array , LB is a LOWER BOUND of both the Loops and UB is a UPPER BOUND of both the Loops
1 START
2 REPEATE FOR Row = LB TO UB [ Outer Loop]
3 REPEATE FOR Column = LB TO UB [ Inner Loop ]
4 PROCESS LARRAY [Row] [Column] [Process Data Item]
[End of Inner Loop]
[End of Outer Loop]
5 END
जिस तरह से दो Loop
चला कर हम 2-D Array
की Traversing कर सकते हैं उसी तरह से यदि
हमें किसी 3-D Array की Traversing करनी
हो तो हमें तीन Nested Loop चलाने पड़ते हैं |
किसी
3-D
Array की Traversing करने का Algorithm
निम्नानुसार लिखा जा सकता है |
Algorithm
Here LARRAY is a Linear Array , LB is LOWER BOUND of All the Loops and UB is a UPPER BOUND of All the Loops
1 START
2 REPEATE FOR Row = LB TO UB [Outer Loop]
3 REPEATE FOR Columns = LB TO UB [Inner Loop]
4 REPEATE FOR Inner Column = LB TO UB [Inner Loop]
5 PROCESS LARRAY [Row] [Columns] [Inner Columns] [Process Data Item]
[End of Inner Loop]
[End of Inner Loop]
[End of Outer Loop]
6 END
No comments