Module: एपी कंप्यूटर साइंस सेक्शन II 2015


Problem

2/4

उलटना

Problem

यह प्रश्न एक-आयामी और द्वि-आयामी सरणियों में हेरफेर करता है। भाग (ए) में आप एक आयामी सरणी के तत्वों को उलटने के लिए एक विधि लिखेंगे। भागों (बी) और (सी) में आप दो आयामी सरणी के तत्वों को उलटने के तरीकों को लिखेंगे।

(ए) निम्नलिखित अपूर्ण ArrayUtil वर्ग पर विचार करें, जिसमें एक स्थिर रिवर्सएरे विधि शामिल है।
ArrayUtil मेथड को रिवर्सएरे में लिखें। उदाहरण के लिए, यदि एआर सरणी {2,7,5,1,0} है, तो रिवर्सएरे को कॉल करने के लिए एआर को {0,1,5,7,2} में बदल दिया जाता है। पूरा तरीका रिवर्सएरे नीचे है।

का उपयोग करके उत्पन्न किया गया
<पूर्व शैली = "मार्जिन-बाएं: 0 पीएक्स; मार्जिन-दाएं: 0 पीएक्स"> /** सरणी गिरफ्तारी के विपरीत तत्व। * पूर्व शर्त: arr.length > 0. * पोस्टकंडिशन: arr के तत्वों को उलट दिया गया है। * @param हेरफेर करने के लिए सरणी गिरफ्तार करें */ सार्वजनिक स्थैतिक void reverseArray(int[] arr)

ख) निम्नलिखित अपूर्ण मैट्रिक्स वर्ग पर विचार करें, जो पूर्णांकों के द्विविमीय मैट्रिक्स का प्रतिनिधित्व करता है। मान लें कि मैट्रिक्स में कम से कम एक पूर्णांक है।
मैट्रिक्स विधि रिवर्सऑलरोज़ लिखें। यह विधि प्रत्येक पंक्ति के तत्वों को उलट देती है। उदाहरण के लिए, यदि mat1 एक मैट्रिक्स ऑब्जेक्ट को संदर्भित करता है, तो कॉल mat1.reverseAllRows() मैट्रिक्स को नीचे दिखाए अनुसार बदल देगा।

रिवर्सऑलरो लिखने में, आपको भाग (ए) में रिवर्सएरे विधि को कॉल करना होगा। मान लें कि आपने भाग (ए) में जो कुछ भी लिखा है, उसके बावजूद रिवर्सअरे सही ढंग से काम करता है। पूरी विधि रिवर्सऑलरो नीचे दी गई है।

का उपयोग करके उत्पन्न किया गया
<पूर्व शैली = "मार्जिन-बाएं: 0 पीएक्स; मार्जिन-दाएं: 0 पीएक्स"> /** मैट की प्रत्येक पंक्ति में तत्वों को उलट देता है। * पोस्टकंडिशन: प्रत्येक पंक्ति में तत्वों को उलट दिया गया है। */ सार्वजनिक शून्य reverseAllRows()

 c) मैट्रिक्स विधि रिवर्समैट्रिक्स लिखें। यह विधि एक मैट्रिक्स के तत्वों को उलट देती है जैसे कि मैट्रिक्स के अंतिम तत्व, जब पंक्ति-प्रमुख क्रम में पढ़े जाते हैं, मूल तत्वों के समान होते हैं, जब नीचे के कोने से दाएं से बाएं, ऊपर की तरफ पढ़ा जाता है। फिर से mat1 को मैट्रिक्स ऑब्जेक्ट का संदर्भ दें। कॉल mat1.reverseMatrix() नीचे दिखाए अनुसार मैट्रिक्स को बदल देगा।


रिवर्समैट्रिक्स लिखते समय, आपको भाग (बी) में रिवर्सऑलरो विधि को कॉल करना होगा। मान लें कि आपने भाग (बी) में जो कुछ भी लिखा है, उसके बावजूद रिवर्सऑलरो सही तरीके से काम करता है। रिवर्समैट्रिक्स का पूरा तरीका नीचे दिया गया है।
  का उपयोग करके उत्पन्न किया गया
<पूर्व शैली = "मार्जिन-बाएं: 0 पीएक्स; मार्जिन-दाएं: 0 पीएक्स"> /** मैट के तत्वों को उलट देता है। * पोस्टकंडीशन: * - मैट के अंतिम तत्व, जब पंक्ति-प्रमुख क्रम में पढ़े जाते हैं, * पढ़े जाने पर मैट के मूल तत्वों के समान होते हैं * नीचे के कोने से, दाएँ से बाएँ, ऊपर जा रहे हैं। * - mat[0][0] में वह शामिल है जो मूल रूप से अंतिम तत्व था। * - mat[mat.length-1][mat[0].length-1] में वह है जो था * मूल रूप से पहला तत्व। */ सार्वजनिक शून्य reverseMatrix()