मैंने मैट्रिस से संबंधित कुछ चुनौतियां लिखी हैं , और सभी के लिए सामान्य यह है कि मैं नीचे दिए गए फॉर्मेट का उपयोग करता हूं जब मैट्रिस का प्रतिनिधित्व करता हूं, उदाहरण और परीक्षण दोनों मामलों में:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
यह कई भाषाओं में एक बोझिल प्रारूप है।
चुनौती:
एक प्रोग्राम / फ़ंक्शन लिखें, जो इनपुट के रूप में शीर्ष पर दिए गए फॉर्म पर एक मैट्रिक्स ले सकता है (इस पोस्ट से सीधे कॉपी / पेस्ट किया गया है), और नीचे दिखाए गए तीन अन्य पारंपरिक प्रारूपों पर सभी एक ही मैट्रिक्स को आउटपुट करें ।
इनपुट प्रारूप:
रिक्त स्थान की अलग-अलग संख्याओं और पंक्तियों का प्रतिनिधित्व करने के लिए नई संख्याओं से अलग संख्या (परीक्षण मामलों को देखें)।
- संख्याओं के बीच रिक्त स्थान की संख्या संगत होने की गारंटी नहीं है। हालाँकि आप यह मान सकते हैं कि प्रत्येक कॉलम में अंतिम अंक संरेखित करें (यदि वह कोई मदद करता है)।
- पूर्णांक और फ़्लोट्स दोनों हो सकते हैं, और वे सकारात्मक, नकारात्मक या शून्य हो सकते हैं। एक मैट्रिक्स में एक ही समय में पूर्णांक और फ्लोट नहीं होंगे ।
- आप मान सकते हैं कि कोई भी संख्या 10 वर्णों से अधिक नहीं है, जिसमें नकारात्मक फ़्लोट्स के लिए माइनस और दशमलव बिंदु शामिल हैं।
- आप मान सकते हैं कि प्रत्येक पंक्ति में और प्रत्येक कॉलम में समान संख्या में प्रविष्टियाँ हैं।
- कोई खाली इनपुट मैट्रेस नहीं होगा, लेकिन केवल एक पंक्ति या कॉलम के साथ एकल नंबर या मैट्रिसेस हो सकते हैं।
- आप इन मामलों में परीक्षण मामलों में दिखाए गए आउटपुट प्रारूपों के बीच चयन कर सकते हैं
यदि आपका प्रोग्राम सीधे इस पोस्ट से कॉपी किया गया है और इंटरप्रेटर (STDIN या फ़ंक्शन तर्क या कुछ समतुल्य) के रूप में चिपकाया गया है, तो आपके प्रोग्राम / फ़ंक्शन को इनपुट को संभालना होगा। आपके पास और (या ब्रैकेट के बाद, कोष्ठक, उद्धरण चिह्न, कोष्ठक) जैसे कुछ भी हो सकता है, लेकिन आपको मैट्रिक्स को उन वर्णों के अनुक्रम पर विचार करना चाहिए जिन्हें परिवर्तित नहीं किया जा सकता है (जिसमें न्यूलाइन शामिल हैं)।
स्पष्ट करने के लिए: मान लें कि आपका कार्य / कार्यक्रम कहा जाता है f
और मैट्रिक्स है:
1 -2
3 5
6 7
तब आप मैट्रिक्स को इस तरह फ़ंक्शन तर्क के रूप में दे सकते हैं (और असीम रूप से कई अन्य विकल्प):
f(1 -2
3 5
6 7)
f([1 -2
3 5
6 7])
f("""1 -2
3 5
6 7""")
यदि आपकी भाषा किसी भी तरह से कॉपी / पेस्ट की गई मैट्रिक्स को इनपुट के रूप में नहीं ले सकती है, तो मुझे डर है कि आपको दूसरी भाषा चुननी होगी।
आउटपुट स्वरूप:
आपको निम्न तीन प्रारूपों पर मैट्रिक्स का उत्पादन करना चाहिए (ऑर्डर मायने नहीं रखता):
[[16, 2, 3, 13], [5, 11, 10, 8], [9, 7, 6, 12], [4, 14, 15, 1]]
{{16, 2, 3, 13}, {5, 11, 10, 8}, {9, 7, 6, 12}, {4, 14, 15, 1}}
[16, 2, 3, 13; 5, 11, 10, 8; 9, 7, 6, 12; 4, 14, 15, 1]
- आप चाहें तो तीन आउटपुट अलग कर सकते हैं (उदाहरण के लिए एक नई पंक्ति)
- आपको इनपुट के रूप में एक ही परिशुद्धता का उपयोग करके संख्याओं को आउटपुट करना होगा (उदाहरण के लिए, आपको दशमलव की संख्या को ट्रिम नहीं करना चाहिए, और न ही आउटपुट पूर्णांक को फ़्लोट के रूप में)।
- रिक्त स्थान अनिवार्य हैं
- आपको
-
नकारात्मक संख्याओं के लिए उपयोग करना चाहिए , न कि_
समान।
परीक्षण के मामलों:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
----
[[16, 2, 3, 13], [5, 11, 10, 8], [9, 7, 6, 12], [4, 14, 15, 1]]
{{16, 2, 3, 13}, {5, 11, 10, 8}, {9, 7, 6, 12}, {4, 14, 15, 1}}
[16, 2, 3, 13; 5, 11, 10, 8; 9, 7, 6, 12; 4, 14, 15, 1]
0.14778 0.27114 0.24415
0.45997 0.12287 0.67470
0.28945 0.37928 0.51887
----
[[0.14778, 0.27114, 0.24415], [0.45997, 0.12287, 0.6747], [0.28945, 0.37928, 0.51887]]
{{0.14778, 0.27114, 0.24415}, {0.45997, 0.12287, 0.6747}, {0.28945, 0.37928, 0.51887}}
[0.14778, 0.27114, 0.24415; 0.45997, 0.12287, 0.6747; 0.28945, 0.37928, 0.51887]
-0.0398301 0.2403455 -0.2253368 0.3565870 0.0605803 0.0830780
-0.3254422 -0.1185191 -0.2989537 0.1647319 0.3621135 0.2018815
-0.0022281 -0.3362287 -0.3568447 0.4419063 0.3801872 -0.2847033
---
[[-0.0398301, 0.2403455, -0.2253368, 0.3565870, 0.0605803, 0.0830780], [-0.3254422, -0.1185191, -0.2989537, 0.1647319, 0.3621135, 0.2018815], [-0.0022281, -0.3362287, -0.3568447, 0.4419063, 0.3801872, -0.2847033],]
{{-0.0398301, 0.2403455, -0.2253368, 0.3565870, 0.0605803, 0.0830780}, {-0.3254422, -0.1185191, -0.2989537, 0.1647319, 0.3621135, 0.2018815}, {-0.0022281, -0.3362287, -0.3568447, 0.4419063, 0.3801872, -0.2847033},}
[-0.0398301, 0.2403455, -0.2253368, 0.3565870, 0.0605803, 0.0830780; -0.3254422, -0.1185191, -0.2989537, 0.1647319, 0.3621135, 0.2018815; -0.0022281, -0.3362287, -0.3568447, 0.4419063, 0.3801872, -0.2847033]
0 4 1 0
0 0 -6 0
0 1 4 -3
2 0 0 8
0 0 0 0
----
[[0, 4, 1, 0], [0, 0, -6, 0], [0, 1, 4, -3], [2, 0, 0, 8], [0, 0, 0, 0]]
{{0, 4, 1, 0}, {0, 0, -6, 0}, {0, 1, 4, -3}, {2, 0, 0, 8}, {0, 0, 0, 0}}
[0, 4, 1, 0; 0, 0, -6, 0; 0, 1, 4, -3; 2, 0, 0, 8; 0, 0, 0, 0]
1
----
[1] (or [[1]])
{1} (or {{1}})
[1] (or 1)
1 2
----
[1, 2] (or [[1, 2]])
{1, 2} (or {{1, 2}})
[1, 2]
4
5
----
[[4], [5]]
{{4}, {5}}
[4; 5]
मैं से पूरी तरह वाकिफ हूँ इस है, लेकिन इस चुनौती में, बोझिल आई / ओ प्रारूप पूरे बिंदु है। चुनौती सभी कुछ भाषाओं में आउटपुट स्वरूपण के बारे में होगी, जबकि इनपुट पढ़ना अन्य भाषाओं में सबसे कठिन हिस्सा होगा।
कृपया इसे निराश न करें यदि इनपुट पढ़ना कठिन है, तो उन सबमिशन सबसे दिलचस्प हो सकते हैं। शॉर्ट जरूरी प्रभावशाली के रूप में ही नहीं है। और हमेशा की तरह, स्पष्टीकरण को प्रोत्साहित किया जाता है!