मेरी पहली प्रोग्रामिंग पहेलियाँ और कोड गोल्फ सात-स्लेश डिस्प्ले है । यहां मेरा पहला चैलेंज है, जो 7-सेगमेंट डिस्प्ले पर आधारित है।
मैं अक्सर संख्याओं के अलावा, एक साधारण 7 सेगमेंट डिस्प्ले का उपयोग करके किस तरह के पत्र प्रदर्शित कर सकता हूं, इसके बारे में सोचता हूं। बहुत सारे पत्र प्रदर्शित किए जा सकते हैं। वास्तव में, सभी लेकिन K, M, V, W, X अक्षर एक एकल 7-खंड प्रदर्शन का उपयोग करके प्रदर्शित किए जा सकते हैं। ऐसा इसलिए है क्योंकि आप या तो निचले मामले या किसी पत्र के ऊपरी मामले को प्रदर्शित कर सकते हैं। जैसे
"abcdef" के रूप में प्रदर्शित किया जा सकता है
_ _ _ _
!_!!_ ! _!!_ !_
! !!_!!_ !_!!_ !
ध्यान दें कि प्रत्येक वर्ण एक 3x3 मैट्रिक्स से बना !और है _।
बेशक, 7-खंड प्रदर्शन संख्या और प्रतीकों को प्रदर्शित करने के लिए इस्तेमाल किया जा सकता है:
_ _ _ _ _ _ _
! _ !_ !_ ! _! !!_ !_!! !_!!_!
! _!!_ !_! !_! ! _!! !_ ! ! _!
कुछ पत्रों में ऊपरी और निचले दोनों मामले हो सकते हैं:
_ _
! _ !_!!_ ! ! ! _ ! !
!_ !_ ! !! ! ! !!_!!_!!_!!_!
यहाँ वर्णों का पूरा सेट दिया गया है:
_ _ _ _ _ _ _ _ _
! ! ! _! _!!_!!_ !_ !!_!!_! _ !_ _ _ _!
!_! !!_ _! ! _!!_! !!_! _! !_ ! ! !!_!!_! !
_ _ _ _ _ _ _ _ _ _
!_!!_ ! _!!_ !_ ! !_! ! !! _ ! !!_!!_! _ !_ !_ ! !!_! _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_! _!!_
ध्यान दें कि एक सफेद स्थान ( ), एक डैश ( -) और एक प्रश्न चिह्न ( ?) हैं। पत्र I, Oऔर Zसंख्या के रूप में ही कर रहे हैं 1, 0और 2क्रमशः।
इस चुनौती में, आप ऊपर 7-खंड प्रदर्शन प्रारूप का उपयोग करके स्ट्रिंग प्रदर्शित करने के लिए एक प्रोग्राम या फ़ंक्शन लिखेंगे।
नियम
आप एक कार्यक्रम या एक समारोह लिख सकते हैं
यह कोड-गोल्फ है, बाइट्स जीत में सबसे छोटा कोड
आपके प्रोग्राम या फ़ंक्शन को STDIN या एक पैरामीटर के रूप में इनपुट लेना चाहिए। और एक स्ट्रिंग को STDOUT या एक स्ट्रिंग के रूप में 3 लाइनों में अग्रणी स्थान के बिना आउटपुट करता है, लेकिन न्यूलाइन के साथ समाप्त कर दिया जाता है।
CHIOUठीक से ऊपरी / निचले मामले को संभालें ।आप वैकल्पिक रूप से सफेद स्थानों को पीछे छोड़ते हुए प्रिंट कर सकते हैं
आपको ऊपर दिए गए प्रारूप का पालन करना चाहिए। अपने 7-खंड प्रदर्शन बनाने के लिए अंडरस्कोर
_और विस्मयादिबोधक चिह्न का उपयोग करना!।आपको सफेद स्थान (
), डैश (-) और प्रश्न चिह्न (?) का समर्थन करना चाहिएयदि स्ट्रिंग में असमर्थित वर्ण (k, m, v, w, x) है, तो एक एकल त्रुटि वर्ण (3 क्षितिज रेखा, उदाहरण देखें) प्रदर्शित होता है। 5 असमर्थित वर्णों के अलावा, आप मान सकते हैं कि इनपुट केवल समर्थित वर्ण सेट से बना है।
मैंने
lभ्रम के कारण लोअरकेस एल ( ) के लिए एक पत्र नहीं चुना है, लेकिन अगर आप इतने इच्छुक हैं, तो आप इसे1दाईं या बाईं ओर प्रदर्शित कर सकते हैं ।
उदाहरण
$./a.out Start
_ _
!_ !_ !_! _ !_
_!!_ ! !! !_
$./a.out "7-seg dIsplay"
_ _ _ _ _ _ _
! _ !_ !_ ! _! !!_ !_!! !_!!_!
! _!!_ !_! !_! ! _!! !_ ! ! _!
$./a.out "0123456789 chiou-?"
_ _ _ _ _ _ _ _ _
! ! ! _! _!!_!!_ !_ !!_!!_! _ !_ _ _ _!
!_! !!_ _! ! _!!_! !!_! _! !_ ! ! !!_!!_! !
$./a.out "ABCDEFGHIJLNOPQRSTUZ"
_ _ _ _ _ _ _ _ _ _
!_!!_ ! _!!_ !_ ! !_! ! !! _ ! !!_!!_! _ !_ !_ ! ! _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_!!_
$./a.out "abcdefghijlnopqrstuz"
_ _ _ _ _ _ _ _
!_!!_ _ _!!_ !_ ! !_ !! _ _ !_!!_! _ !_ !_ _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_!!_
$./a.out "Bad Form"
_
_
_
$./a.out "Hello"
_
!_!!_ ! ! _
! !!_ !_ !_ !_!
$./a.out "World"
_
_
_
\rलाइन फीड (एलएफ) के साथ कैरिज रिटर्न (सीआर ) को भ्रमित किया है \n। * निक्स एलएफ का उपयोग करता है और विंडोज सीआरएलएफ का उपयोग करता है। केवल कुछ विरासत प्रणालियां ही सीआर का उपयोग करती हैं। अधिक जानकारी यहां: en.wikipedia.org/wiki/Newline
k, m, v, w, xप्रदर्शित नहीं किया गया है।