ज्यादातर मज़ा/जिज्ञासा के लिए एक सवाल लिखने के लिए कैसे: कैसे C++ कि एक bool
(यानी true
और false
) के दो मूल्यों पर पुनरावृति होगी एक for
पाश लिखने के लिए , bool
(यानी अन्य प्रकारों के रूपांतरण के बिना) के साथ केवल संचालन का उपयोग कर? अर्थात क्या हालत पाश जारी रखने के लिए होगा -bool मूल्यों पर एक `for` पाश (गलत और सही)
पृष्ठभूमि है कि मैं जाँच करने के लिए कितने समाधान (A && B) || (!B && !C && !D) == true
की तरह एक समीकरण के लिए मौजूद थे, और for (bool A=false; ??? ; ++A) for (bool B=false; ...)
आदि की तरह कुछ लिखने के लिए शुरू किया, लेकिन तुरंत ???
से अटक गया है? बेशक मैं इसे int का उपयोग करने के लिए पुनः लिखता हूं, और मुझे यह भी पता है कि do ... while
लूप काम करेगा, लेकिन अगर मुझे for
लूप लिखना संभव हो तो मुझे उत्सुकता हो रही है? ध्यान दें, कि एक "स्पष्ट" संस्करण for(bool A=false; !A; A=true)
कम से कम दो अब हटा दिया जवाब में सुझाव दिया केवल एक यात्रा चलेंगे क्योंकि: और इतने के बाद से एक जवाब है नहीं लगता है, मैं पूछने के लिए :)
अद्यतन का फैसला किया दूसरे के लिए स्थिति !A
false
बन जाती है और लूप समाप्त होता है।
कुछ सोचने के बाद, मेरा मानना है कि इसे सी ++ 03 में दूसरे चर के बिना या डायटर कुहल द्वारा सुझाए गए पॉइंटर आधारित निर्माण के बिना करना असंभव है। वांछित निष्पादन में स्थिति को तीन बार परीक्षण किया जाना चाहिए, इसलिए बूल के दो मान बस पर्याप्त नहीं हैं। और डू-लूप लूप काम करता है क्योंकि पहला पुनरावृत्ति बिना शर्त रूप से निष्पादित किया जाता है, स्थिति केवल दो बार जांच की जाती है और इसलिए निरंतर और बाहर निकलने के बीच चयन करने के लिए एक बूल वैल्यू का उपयोग किया जा सकता है।
यह आश्चर्यजनक है कि गलत उत्तरों को कितनी जल्दी हटा दिया जाता है! –
हां, जब आप ऐसा करते हैं तो आप इससे नफरत नहीं करते? मुझे यह एक अच्छा सवाल है। मैं ऊपर उठाया। –
क्योंकि यह साइट मजेदार/जिज्ञासा के लिए नहीं है। असली सवाल! पीएस नहीं, यह मैं नहीं था, मैं भी उत्सुक हूँ। –