एक प्रोग्राम लिखें जो व्हाट्सएप को कोड को अच्छी तरह से फॉर्मेट करने या हटाने वाला हो। आपके द्वारा किए जाने पर कोड कैसा दिखना चाहिए, इसके लिए नियम:
- कोई रेखा के एक से अधिक शामिल करना चाहिए
{
और}
। - ए
{
हमेशा एक लाइन पर अंतिम चीज होनी चाहिए। - ए
}
हमेशा एक लाइन पर एक ही चीज होनी चाहिए (व्हाट्सएप के अलावा जो इसके पहले आती है)। - प्रत्येक पंक्ति के सामने व्हॉट्सएप की मात्रा मौजूदा घोंसले के शिकार की संख्या का एक निश्चित गुण होना चाहिए। (जब तक आप इसे नहीं बदलते, तब तक आप जितनी चाहें उतनी इंडेंटेशन का उपयोग कर सकते हैं।)
- कोई व्हाट्सएप डाला या हटाया नहीं जाना चाहिए जो इन नियमों में से एक को संतुष्ट करने में योगदान नहीं करता है।
पहली लाइन की नेस्टिंग काउंट 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
}
;