Problem

1 /12


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

Theory Click to read/hide

परिचय।

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

गणित में, ऐसी संरचनाओं को आव्यूह कहा जाता है।

 
मैट्रिक्स एक ही प्रकार के तत्वों (संख्या, तार, आदि) से बना एक आयताकार तालिका है।< / स्पान>

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

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

मैट्रिक्स बनाएं।>

इसका  इन-मेमोरी मैट्रिक्स बनाना संभव है कुछ प्रारंभिक मानों से भरा एक दिया गया आकार।

<कोड> इंट [,] सरणी = नया इंट [4, 2]; // 4 पंक्तियां, 2 कॉलम

  <दिव>

मैट्रिक्स बनाने के बाद, आप इसे मनमाने मूल्यों से भर सकते हैं। चूँकि प्रत्येक तत्व में दो अनुक्रमणिकाएँ होती हैं, इसलिए नेस्टेड लूप्स का उपयोग करना आवश्यक है

<पूर्व> for (int i=1; i <= N, i++) { / / एन - लाइनों की संख्या for (int j=1; j <= N, j++) { // M स्तंभों की संख्या है ए [आई, जे] = ...   } } मैट्रिक्स प्रदर्शित कर रहा हूं।

सूची को संसाधित करने और प्रदर्शित करने के लिए आमतौर पर दो नेस्टेड लूप का उपयोग किया जाता है। पहला लूप लाइन नंबर पर है, दूसरा लूप लाइन के भीतर तत्वों पर है। मैट्रिक्स को स्क्रीन पर पंक्ति दर पंक्ति आउटपुट करने के लिए, एक पंक्ति के भीतर रिक्त स्थान के साथ संख्याओं को अलग करने के लिए, आपको निम्न खंड लिखने की आवश्यकता है:
  <पूर्व> for (int i=1; i <= N, i++) { for (int j=1; j <= N, j++) { कंसोल। लिखें (ए [आई, जे] + " ");   }   कंसोल। राइटलाइन (); // एक नई लाइन पर जाएं }

आप ऐसा ही कर सकते हैं, लेकिन इंडेक्स के बजाय लिस्ट लूप का उपयोग करें ( फोरच )। एक सबरूटीन लिखने का प्रयास करें जो इसे स्वयं लागू करता है।

Problem

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

इनपुट डेटा: इनपुट लाइन में स्पेस-सेपरेटेड मैट्रिक्स आयाम शामिल हैं: पंक्तियों की संख्या  और कॉलम की संख्या ( 1 <= M < ;=< /em> 100 ).

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

उदाहरण। <टेबल क्लास = "टेबल टेबल-कंडेंस्ड टेबल-होवर"> <सिर> # इनपुट आउटपुट <शरीर> 1 4 5 0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1