আপনার কাজটি হ'ল পসিক্স expand(1)
ইউটিলিটির একটি বৈকল্পিক প্রয়োগ করা যা ট্যাবগুলিকে স্পেসে প্রসারিত করে।
আপনার প্রোগ্রামটি একটি ট্যাবস্টপ স্পেসিফিকেশন নেওয়া এবং তারপরে স্ট্যান্ডার্ড ইনপুট পড়ুন এবং পরবর্তী ট্যাবস্টপে পৌঁছানোর জন্য উপযুক্ত পরিমাণে ফাঁকা স্থানের সাথে ইনপুটটিতে ট্যাব অক্ষরগুলি প্রতিস্থাপন করতে হবে। ফলাফল স্ট্যান্ডার্ড আউট লেখা উচিত ।
ট্যাবস্টপ স্পেসিফিকেশন
একটি ট্যাবস্টপ স্পেসিফিকেশন একটি একক সংখ্যা, বা কমা দ্বারা পৃথক ট্যাবস্টপের তালিকা নিয়ে গঠিত। একক সংখ্যার ক্ষেত্রে এটি পুনরাবৃত্তি হয় যেন এর বহুগুণ কমা-বিচ্ছিন্ন তালিকায় ঘটে (যেমন 4
হিসাবে কাজ করে 4,8,12,16,20,...
)। কমা দ্বারা পৃথক করা তালিকাতে থাকা প্রতিটি এন্ট্রি একটি ধনাত্মক পূর্ণসংখ্যা ঐচ্ছিকভাবে একটি দ্বারা পূর্বনির্ধারিত +
। একটি +
উপসর্গ কমা-বিচ্ছিন্ন তালিকার পূর্বের মানের সাথে তুলনামূলক পার্থক্য নির্দেশ করে। তালিকার প্রথম মানটি অবশ্যই নিরঙ্কুশ (অর্থাত্ অপরিবর্তিত)। ট্যাবস্টপগুলি পরবর্তী অ-স্পেস অক্ষরটির কলাম নির্দিষ্ট করে (প্রসারিত ট্যাব অনুসরণ করে), বামদিকের কলামটি নম্বর হিসাবে নেওয়া হয়েছে Tab ট্যাবগুলি সর্বদা কমপক্ষে একটি স্পেসে প্রসারিত হওয়া উচিত।
ইনপুট আউটপুট
ট্যাবস্টপ স্পেসিফিকেশনটি হয় প্রোগ্রামের প্রথম কমান্ড-লাইন প্যারামিটার হিসাবে নেওয়া হবে, বা আপনার বিবেচনার ভিত্তিতে স্ট্যান্ডার্ড থেকে ইনপুটটির প্রথম লাইন (একটি নতুন লাইন দ্বারা সমাপ্ত) হিসাবে পড়তে হবে। ট্যাবস্টপটি পড়ার পরে, ইওএফ প্রক্রিয়াজাতকরণ এবং প্রসারিত হওয়া অবধি বাকি ইনপুট (সমস্ত ইনপুট, পূর্বের ক্ষেত্রে)। প্রসারিত আউটপুট মান আউট লেখা হবে।
সমস্ত বর্ধিত ট্যাবস্টপ এবং সমস্ত ইনপুট সর্বোচ্চ 80 টি কলাম প্রশস্ত বলে ধরে নেওয়া হয়। সমস্ত প্রসারিত ট্যাবস্টপগুলি কঠোরভাবে বৃদ্ধি পাচ্ছে।
উদাহরণ
ট্যাবস্টপ স্পেসিফিকেশন 4,6,+2,+8
সমতুল্য 4,6,8,16
এবং উভয় ইনপুট সহ
ab<Tab>c
<Tab><Tab>d<Tab>e<Tab>f
প্রসারিত হয় ( ␣
একটি স্থান নির্দেশ করে)
ab␣␣c
␣␣␣␣␣␣d␣e␣␣␣␣␣␣␣f
01234567890123456 (Ruler for the above, not part of the output)
1111111
স্কোরিং খাঁটি কোড-গল্ফ ; সংক্ষিপ্ততম কোড জয়
x+($1?i:0)
খাটো হয়ে লিখতে পারবেন$1?x+i:x
?