এমন একটি প্রোগ্রাম লিখুন যা চমত্কারভাবে কোড বিন্যাসে সাদা স্থান যুক্ত করে বা সরিয়ে দেয়। কোডটি শেষ হওয়ার পরে কী হওয়া উচিত তার নিয়ম:
- কোন লাইনের একটির বেশি থাকা উচিত
{
এবং}
। - একটি
{
সর্বদা একটি লাইনের শেষ জিনিস হওয়া উচিত। - একটি
}
সর্বদা একটি লাইনে একমাত্র জিনিস হওয়া উচিত (হোয়াইটস্পেস যা এর আগে আসে)। - প্রতিটি লাইনের সামনের সাদা অংশের পরিমাণ বর্তমান নেস্টিং গণনার স্থির একাধিক হওয়া উচিত। (আপনি যতটা ইন্ডেন্টেশন চান তা ব্যবহার করতে পারেন, যতক্ষণ না এটি পরিবর্তন হয় না))
- কোনও শ্বেতস্থান োকানো বা মুছে ফেলা উচিত নয় যা এই নিয়মের একটি সন্তুষ্ট করতে অবদান রাখে না।
প্রথম লাইনের জন্য নেস্টিংয়ের গণনা 0 টি। অন্য যে কোনও লাইনের নেস্টিং গণনাটি পূর্ববর্তী লাইনের নেস্টিং গণনা, পূর্ববর্তী লাইনে যদি {
একটি থাকে, বর্তমানের লাইনে একটি থাকে তবে বিয়োগ একটি হবে }
।
{
এবং }
ভিতরে স্ট্রিং আক্ষরিক এবং মন্তব্যগুলি উপরের নিয়মগুলিতে গণনা করে না। একটি স্ট্রিং আক্ষরিক হ'ল পাঠ্যটি একক বা দ্বৈত উদ্ধৃতিতে আবদ্ধ থাকে যেখানে একক বা ডাবল উদ্ধৃতিগুলি অবিলম্বে একটি স্ট্রোল ল্যাটারেলের শেষ হিসাবে ব্যাখ্যা না করার আগেই একটি বিজোড় সংখ্যার ব্যাকস্ল্যাশ যুক্ত থাকে। একটি মন্তব্য হ'ল পাঠ্যটি আবদ্ধ এবং /*
এবং */
পাঠ্যটি //
লাইনটির শেষ প্রান্তে চলে যাওয়া। এক লাইনে একাধিক মন্তব্য শুরুর মার্কার, কেবল প্রথম এক গণনা। মন্তব্যগুলি স্ট্রিং লিটারেলের মধ্যে পার্স করা হয় না।
উদাহরণ
main() {printf("Hello!"); // I don't care about the world...
}
becomes:
main() {
printf("Hello!"); // I don't care about the world...
}
int main(){
puts("a");
puts("b");
}
becomes:
int main(){
puts("a");
puts("b");
}
main()
{ printf("{"); /* }
} */
printf("}//}"); ///*
}
becomes:
main()
{
printf("{"); /* }
} */
printf("}//}"); ///*
}
int test[] = {1, 2, 3};
becomes:
int test[] = {
1, 2, 3
}
;