परिचय 
बहुत बार, किसी सूचना के साथ काम करते समय, आपको सारणीबद्ध डेटा से निपटना पड़ता है। आधुनिक कार्यक्रम अक्सर ऐसे डेटा के साथ काम करते हैं। सबसे सरल उदाहरण चेकर्ड बोर्ड पर प्रोग्रामिंग गेम है: टिक-टैक-टो, शतरंज, चेकर्स, आदि।

गणित में, ऐसी संरचनाओं को मैट्रिक्स कहा जाता है।
 
एक मैट्रिक्स एक आयताकार तालिका है जो एक ही प्रकार के तत्वों (संख्या, तार, आदि) से बनी होती है .)< /div>
पास्कल में इस तरह के डेटा को द्वि-आयामी सरणियों - "सरणियों के सरणियों" के रूप में संग्रहीत और संसाधित किया जा सकता है।
तालिका में डेटा को संसाधित करने के लिए, प्रत्येक सेल (सेल) की स्थिति को याद रखना आवश्यक है। प्रत्येक सेल में दो संख्याएँ होती हैं: एक पंक्ति संख्या और एक स्तंभ संख्या।
मैट्रिक्स में, प्रत्येक तत्व के दो सूचकांक होते हैं: पहले पंक्ति संख्या इंगित की जाती है, फिर स्तंभ संख्या। पंक्तियों और स्तंभों की संख्या शून्य से शुरू होती है।
उदाहरण के लिए, तत्व ए [1] [2] दूसरी पंक्ति और तीसरे स्तंभ में स्थित तत्व है।

साधारण सरणियों (सूचियों) की तरह, मेट्रिसेस के साथ काम करने के लिए, आपको सीखना होगा कि उन्हें कैसे बनाना, दर्ज करना, प्रोसेस करना और प्रदर्शित करना है।
 
मैट्रिक्स निर्माण
कार्य
स्मृति में शून्य से भरे दिए गए आकार का एक मैट्रिक्स बनाएं।

मैट्रिक्स को सही तरीके से बनाने के लिए, आपको कंपाइलर को अलग-अलग ऑब्जेक्ट के रूप में मेमोरी में सभी स्ट्रिंग बनाने के लिए बाध्य करना होगा।
ऐसा करने के लिए, आपको पहले एक खाली सरणी बनानी होगी, फिर मैट्रिक्स में पंक्तियों की संख्या निर्दिष्ट करें, और फिर लूप में setLength() विधि का उपयोग करके प्रत्येक पंक्ति में तत्वों की संख्या निर्दिष्ट करें: नः=3 म := 2 सेट लम्बाई (ए, एन); for i := 0 to N - 1 do   सेट लम्बाई (ए [i], एम);

 

किसी मैट्रिक्स को मनमानी मानों से भरना
एक मैट्रिक्स बनाने के बाद, आप इसे मनमाने मूल्यों से भर सकते हैं। चूंकि प्रत्येक तत्व के दो सूचकांक हैं, इसलिए नेस्टेड लूप का उपयोग करना आवश्यक है for i := 0 to N start करते हैं j := 0 से M के लिए शुरू करें ए [आई] [जे]: = ...   अंत; अंत;  
मैट्रिक्स प्रदर्शित करना

सूची को संसाधित करने और प्रदर्शित करने के लिए आमतौर पर दो नेस्टेड लूप का उपयोग किया जाता है। पहला चक्र रेखा संख्या द्वारा होता है, दूसरा चक्र रेखा के अंदर के तत्वों द्वारा होता है।
एक पंक्ति के भीतर रिक्त स्थान के साथ संख्याओं को अलग करते हुए, लाइन द्वारा मैट्रिक्स लाइन प्रदर्शित करने के लिए, आपको निम्नलिखित अंश लिखने की आवश्यकता है:

for i := 0 to length(A) - 1 do start // लंबाई(A) - मैट्रिक्स A में पंक्तियों की संख्या लौटाता है     for j := 0 to length(A[i]) - 1 do // length(A[i]) - स्ट्रिंग i में तत्वों की संख्या लौटाता है         लिखें (एक [मैं] [जे], ' ');     राइटलन (); // लाइन प्रदर्शित होने के बाद एक नई लाइन करें अंत;

वही, लेकिन इंडेक्स द्वारा चक्र नहीं, बल्कि सूची मानों द्वारा (लूप के लिए सूची (सरणी), स्ट्रिंग) में सभी तत्वों पर पुनरावृति कर सकता है:

एक में पंक्ति के लिए शुरू करें // मैट्रिक्स ए की सभी पंक्तियों पर पुनरावृति करें     पंक्ति में तत्वों के लिए // पंक्ति में सभी तत्वों के माध्यम से लूप करें         लिखें (तत्व, ' ');     राइटलन (); अंत;

कीबोर्ड से मानों के साथ एक मैट्रिक्स भरना

प्रोग्राम को इनपुट के रूप में दो-आयामी सरणी प्राप्त करने दें, n रेखाओं के रूप में, जिनमें से प्रत्येक में m संख्याएं शामिल हैं जो इसके द्वारा अलग की गई हैं रिक्त स्थान। आप इस तरह के डेटा को द्वि-आयामी सरणी में सहेज सकते हैं:

पढ़ें (एन, एम); सेट लंबाई (ए, एन); i:= 0 से n - 1 के लिए शुरू करते हैं     सेटलेंथ (ए [i], एम);     जे के लिए: = 0 से एम -1 पढ़ें (ए [आई] [जे]); अंत;

मैट्रिक्स के प्रत्येक तत्व में दो सूचकांक होते हैं, इसलिए आपको सभी तत्वों पर पुनरावृति करने के लिए नेस्टेड लूप का उपयोग करने की आवश्यकता होती है।
आमतौर पर एक मैट्रिक्स पंक्ति दर पंक्ति पुनरावृत्त होता है: बाहरी लूप पंक्ति सूचकांकों पर पुनरावृति करता है, जबकि आंतरिक लूप स्तंभ सूचकांकों पर पुनरावृति करता है।
लेकिन यदि आवश्यक हो, तो आप मैट्रिक्स और स्तंभों पर पुनरावृति कर सकते हैं, फिर चक्रों को उलट दिया जाता है।