Problem

1 /12


एक मैट्रिक्स क्या है? रचना, प्रदर्शन

Theory Click to read/hide

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

गणित में, ऐसी संरचनाओं को मैट्रिक्स कहा जाता है।
 
एक मैट्रिक्स एक आयताकार तालिका है जो एक ही प्रकार के तत्वों (संख्या, तार, आदि) से बनी होती है .)< /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 में तत्वों की संख्या लौटाता है         लिखें (एक [मैं] [जे], ' ');     राइटलन (); // लाइन प्रदर्शित होने के बाद एक नई लाइन करें अंत;

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

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

Problem

चेकरबोर्ड पैटर्न में एक बाइनरी मैट्रिक्स (केवल शून्य और एक से मिलकर) भरें। ऊपरी बाएँ कोने में एक अशक्त तत्व होना चाहिए।
 

इनपुट
इनपुट स्ट्रिंग में मैट्रिक्स के स्थान-पृथक आयाम होते हैं: पंक्तियों की संख्या N और स्तंभों की संख्या M ( 1 < = न ,  ;म <= 100 ).
 

छाप 
प्रोग्राम को बाइनरी मैट्रिक्स पंक्ति दर पंक्ति आउटपुट करना चाहिए।
 

उदाहरण
<टेबल क्लास = "टेबल-एसएम टेबल-बॉर्डर टेबल-स्ट्राइप्ड टेबल-लिस्ट-टेस्ट"> <सिर> <थ वर्ग = "अंक"> # <वें>इनपुट <वें>आउटपुट <शरीर> 1 4 5 <टीडी> <पूर्व> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1