Header Ads

ad728
  • New Updates

    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,12 होता है | इसी तरह दूसरी 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 होता है | इसी तरह हमें आगे भी 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

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728