आपका कार्य nl
GNU कोर उपयोगिताओं से कमांड-लाइन टूल के समान एक कार्यक्रम को लागू करना है ।
मानक खामियों पर रोक लगाई जाती है।
आप किसी फ़ाइल या स्ट्रिंग की रेखाओं को गिनने के लिए किसी भी अंतर्निहित या बाहरी फ़ंक्शन, प्रोग्राम या उपयोगिता का उपयोग नहीं कर सकते हैं, जैसे कि nl
स्वयं या =
GNU sed में कमांड।
विशिष्टता
इनपुट
कार्यक्रम तर्कों को तर्क के रूप में स्वीकार करता है। आपके कोड को क्रॉस-प्लेटफ़ॉर्म नहीं होना चाहिए; कोड चलाने वाले OS के फ़ाइल नाम प्रारूप का उपयोग किया जाना चाहिए, अर्थात यदि आप विंडोज पर होते हैं, तो निर्देशिका विभाजक \
या हो सकता है /
।
यदि आप -
निर्दिष्ट हैं , तो आपको 64 इनपुट फ़ाइलें लेने में सक्षम होना चाहिए । यदि 64 से अधिक दिए गए हैं, तो केवल पहले 64 को संभालें।
फ़ाइल नाम की सूची में, -
मानक इनपुट का प्रतिनिधित्व करता है।
यदि फ़ाइलनाम दिए गए हैं, तो फ़ाइलों को उस क्रम में पढ़ें, जो उन्हें दिए गए हैं और उनकी सामग्री को संक्षिप्त करते हैं, प्रत्येक के बीच और अंत में एक नई पंक्ति सम्मिलित करते हैं। यदि आप एक या अधिक फ़ाइल नाम से नहीं पढ़ सकते हैं (क्योंकि फ़ाइल मौजूद नहीं है या आपके पास इसके लिए पढ़ने की अनुमति नहीं है), तो उन्हें अनदेखा करें। यदि निर्दिष्ट सभी फ़ाइलनाम अमान्य हैं, तो आउटपुट कुछ भी नहीं है।
यदि कोई फ़ाइल नाम नहीं दिया गया है, तो मानक इनपुट से पढ़ें। यदि कोई फ़ाइल नाम नहीं दिया गया है या दिया गया है तो केवल मानक इनपुट से पढ़ें -
।
उत्पादन
कार्यक्रम आउटपुट के लिए, मानक आउटपुट के लिए, इस तरह से लाइनों के साथ इनपुट (आप मान सकते हैं कि इनपुट है \n
, \r\n
या \r
लाइन अंत; जो भी आपके लिए सुविधाजनक हो; लेकिन जो एक निर्दिष्ट करें):
<5 spaces>1<tab><content of line 1 of input>
<5 spaces>2<tab><content of line 2 of input>
...
<4 spaces>10<tab><content of line 10 of input>
...
<3 spaces>100<tab><content of line 100 of input>
...
...
अंतरिक्ष के 6 अक्षर लाइन नंबर के लिए आवंटित किए जाते हैं, और इसे इन पात्रों के अंत में डाला जाता है; बाकी स्थान बन जाते हैं (जैसे 1
5 प्रमुख स्थान 22
होंगे, 4 प्रमुख स्थान होंगे, ...)। यदि इनपुट पर्याप्त रूप से लंबा है, तो आप अंततः लाइन पर, लाइन नंबर के लिए अंतरिक्ष से बाहर चलेंगे 999999
। आपको लाइन 999999 के बाद कुछ भी आउटपुट नहीं करना चाहिए।
यदि इनपुट खाली है, तो आउटपुट कुछ भी नहीं है।
बाहर निकलने की स्थिति
निचली संख्या प्राथमिकता लेती है: यदि त्रुटियाँ 1 और 2 का सामना करना पड़ा, तो स्थिति 1 से बाहर निकलें।
स्थिति के साथ बाहर निकलें 0 यदि इनपुट सफलतापूर्वक प्राप्त हुआ था, और लाइनें सफलतापूर्वक क्रमांकित और आउटपुट।
स्थिति 1 के साथ बाहर निकलें यदि कमांड लाइन पर निर्दिष्ट एक या अधिक फाइलें नहीं मिली थीं या उनसे पढ़ी नहीं जा सकीं।
स्थिति 2 के साथ बाहर निकलें अगर बहुत सारी फाइलें (64 से अधिक) दी गई थीं।
यदि इनपुट बहुत लंबा था (तो 999999 लाइनों से अधिक) स्थिति 3 से बाहर निकलें। "
स्कोरिंग
यह कोड-गोल्फ है - सबसे छोटा कार्यक्रम जीत!
मैं कुछ विकल्पों को लागू करने के लिए बाद में बोनस जोड़ सकता हूं nl
। फिलहाल कोई बोनस नहीं है।
prompt()
प्रोग्राम आर्ग और स्टड का अनुकरण कर सकते हैं ?