C++ प्रोग्रामिंग में लूप्स का उपयोग कोड के एक निश्चित हिस्से को बार-बार निष्पादित करने के लिए किया जाता है। लूप्स प्रोग्राम को अधिक कुशल और शक्तिशाली बनाते हैं, क्योंकि वे दोहराव वाले कार्यों को सरल और स्वचालित तरीके से करने की अनुमति देते हैं। इस अध्याय में, हम C++ में उपलब्ध विभिन्न प्रकार के लूप्स का अध्ययन करेंगे, जैसे कि for
, while
, और do-while
लूप्स। प्रत्येक लूप का अपना विशेष उपयोग होता है, और हम देखेंगे कि कैसे इनका सही उपयोग करके प्रोग्रामिंग में जटिल समस्याओं को हल किया जा सकता है। इस अध्याय के अंत तक, आप समझ जाएंगे कि कब और कैसे विभिन्न प्रकार के लूप्स का उपयोग किया जा सकता है, जिससे आप अपने प्रोग्राम को अधिक प्रभावी और व्यवस्थित बना सकते हैं।
for लूप (for Loop)
C++ में for
लूप का उपयोग एक निश्चित संख्या में कोड ब्लॉक को बार-बार निष्पादित करने के लिए किया जाता है। for
लूप विशेष रूप से तब उपयोगी होता है जब हमें पता होता है कि हमें कितनी बार लूप को चलाना है। यह लूप एक कॉम्पैक्ट फॉर्म में तीन मुख्य घटकों को शामिल करता है: आरंभिककरण (initialization), शर्त (condition), और वृद्धि/कमी (increment/decrement)।
सिंटैक्स
for (initialization; condition; increment) { // कोड ब्लॉक जो बार-बार निष्पादित होगा }
- initialization: यह केवल एक बार, लूप के शुरू में चलाया जाता है।
- condition: इस शर्त की जांच प्रत्येक लूप के पुनरावृत्ति से पहले की जाती है। यदि यह शर्त सत्य है, तो लूप जारी रहता है; अन्यथा, लूप समाप्त हो जाता है।
- increment: लूप के प्रत्येक पुनरावृत्ति के बाद इस स्टेटमेंट को चलाया जाता है।
उदाहरण
- सरल for लूप:
#include <iostream> using namespace std; int main() { // 1 से 5 तक के संख्याओं को प्रिंट करना for (int i = 1; i <= 5; i++) { cout << "Number: " << i << endl; } return 0; }
- सम संख्या का योग:
#include <iostream> using namespace std; int main() { int sum = 0; // 1 से 10 तक की सम संख्याओं का योग for (int i = 2; i <= 10; i += 2) { sum += i; } cout << "Sum of even numbers from 1 to 10: " << sum << endl; return 0; }
मुख्य बिंदु
- आरंभिककरण: यह लूप के पहले ही भाग में होता है और यह आमतौर पर लूप काउंटर को सेट करने के लिए होता है।
- शर्त: लूप की पुनरावृत्ति जारी रहने के लिए यह शर्त सत्य होनी चाहिए। शर्त के असत्य होने पर लूप समाप्त हो जाता है।
- वृद्धि/कमी: यह स्टेटमेंट लूप के प्रत्येक पुनरावृत्ति के बाद काउंटर को अपडेट करने के लिए होता है।
- कोड ब्लॉक: यदि शर्त सत्य है, तो यह कोड ब्लॉक निष्पादित होता है।
नेस्टेड for लूप (Nested for Loop)
for
लूप को एक और for
लूप के भीतर रखा जा सकता है, जिसे नेस्टेड लूप कहा जाता है। यह विशेष रूप से तब उपयोगी होता है जब मल्टी-डायमेंशनल डेटा को प्रिंट करना हो, जैसे 2D मैट्रिक्स।
उदाहरण
#include <iostream> using namespace std; int main() { // 2D मैट्रिक्स प्रिंट करना for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { cout << "(" << i << ", " << j << ") "; } cout << endl; } return 0; }
इस उदाहरण में, बाहरी लूप पंक्तियों पर और आंतरिक लूप स्तंभों पर चलता है, जिससे प्रत्येक पंक्ति के लिए सभी स्तंभ प्रदर्शित होते हैं।
while लूप (while Loop)
C++ में while
लूप का उपयोग तब किया जाता है जब हमें यह सुनिश्चित करना हो कि कोड का एक ब्लॉक तब तक दोहराया जाए जब तक कि कोई शर्त सत्य रहे। while
लूप के लिए यह आवश्यक नहीं है कि कितनी बार लूप को चलाना है, लेकिन यह महत्वपूर्ण है कि लूप की शर्त असत्य होने पर लूप समाप्त हो जाए।
सिंटैक्स
while (condition) { // कोड ब्लॉक जो शर्त सत्य होने पर बार-बार निष्पादित होगा }
condition: यह शर्त लूप के प्रत्येक पुनरावृत्ति से पहले जाँची जाती है। यदि शर्त सत्य है, तो कोड ब्लॉक निष्पादित होता है; अन्यथा, लूप समाप्त हो जाता है।
उदाहरण
- सरल while लूप:
#include <iostream> using namespace std; int main() { int i = 1; // 1 से 5 तक के संख्याओं को प्रिंट करना while (i <= 5) { cout << "Number: " << i << endl; i++; } return 0; }
इस उदाहरण में,
i
की शुरुआत 1 से होती है और प्रत्येक पुनरावृत्ति के बाद 1 से बढ़ाई जाती है। लूप तब तक चलता है जब तकi
5 से अधिक नहीं हो जाता। - संख्याओं का योग:
#include <iostream> using namespace std; int main() { int sum = 0, number = 1; // 1 से 10 तक के संख्याओं का योग while (number <= 10) { sum += number; number++; } cout << "Sum of numbers from 1 to 10: " << sum << endl; return 0; }
मुख्य बिंदु
- शर्त: लूप की प्रत्येक पुनरावृत्ति से पहले इस शर्त का मूल्यांकन किया जाता है। यदि यह शर्त सत्य है, तो कोड ब्लॉक निष्पादित होता है।
- कोड ब्लॉक: यदि शर्त सत्य है, तो यह कोड ब्लॉक निष्पादित होता है। यह महत्वपूर्ण है कि कोड ब्लॉक में शर्त को असत्य करने के लिए कुछ न कुछ हो, अन्यथा लूप अनंत तक चलता रहेगा।
- असीमित लूप: यदि शर्त कभी असत्य नहीं होती है, तो
while
लूप अनंत लूप बन सकता है। इसलिए यह सुनिश्चित करना आवश्यक है कि लूप के भीतर शर्त को तोड़ने के लिए उचित उपाय हो।
नेस्टेड while लूप (Nested while Loop)
while
लूप को एक और while
लूप के भीतर रखा जा सकता है, जिसे नेस्टेड लूप कहा जाता है।
उदाहरण
#include <iostream> using namespace std; int main() { int i = 1; // 2D मैट्रिक्स प्रिंट करना while (i <= 3) { int j = 1; while (j <= 3) { cout << "(" << i << ", " << j << ") "; j++; } cout << endl; i++; } return 0; }
इस उदाहरण में, बाहरी while
लूप पंक्तियों पर और आंतरिक while
लूप स्तंभों पर चलता है, जिससे प्रत्येक पंक्ति के लिए सभी स्तंभ प्रदर्शित होते हैं।
do-while लूप (do-while Loop)
C++ में do-while
लूप एक प्रकार का लूप है जो कम से कम एक बार कोड ब्लॉक को निष्पादित करने की गारंटी देता है, भले ही शर्त शुरू में असत्य हो। यह लूप तब उपयोगी होता है जब हमें पहले कोड ब्लॉक को निष्पादित करने की आवश्यकता होती है और उसके बाद शर्त का मूल्यांकन करना होता है।
सिंटैक्स
do { // कोड ब्लॉक जो कम से कम एक बार निष्पादित होगा } while (condition);
condition: इस शर्त का मूल्यांकन प्रत्येक पुनरावृत्ति के बाद किया जाता है। यदि यह सत्य है, तो लूप जारी रहता है; यदि असत्य है, तो लूप समाप्त हो जाता है।
उदाहरण
- सरल do-while लूप:
#include <iostream> using namespace std; int main() { int i = 1; // 1 से 5 तक के संख्याओं को प्रिंट करना do { cout << "Number: " << i << endl; i++; } while (i <= 5); return 0; }
इस उदाहरण में,
i
की शुरुआत 1 से होती है और कोड ब्लॉक को कम से कम एक बार निष्पादित किया जाता है। इसके बाद शर्त की जाँच की जाती है, और यदि यह सत्य है, तो लूप जारी रहता है। - कम से कम एक बार इनपुट लेना:
#include <iostream> using namespace std; int main() { char choice; do { cout << "Do you want to continue? (y/n): "; cin >> choice; } while (choice == 'y'); cout << "Program ended." << endl; return 0; }
इस उदाहरण में, उपयोगकर्ता से इनपुट लिया जाता है और कोड ब्लॉक को तब तक निष्पादित किया जाता है जब तक उपयोगकर्ता
y
का चयन करता है। लूप कम से कम एक बार निष्पादित होगा, भले ही शर्त असत्य हो।
मुख्य बिंदु
- कम से कम एक बार निष्पादन:
do-while
लूप यह सुनिश्चित करता है कि कोड ब्लॉक कम से कम एक बार निष्पादित हो, क्योंकि शर्त का मूल्यांकन कोड ब्लॉक के बाद किया जाता है। - प्रारंभिक शर्त परीक्षण की आवश्यकता नहीं: चूंकि कोड ब्लॉक पहले निष्पादित होता है, इसलिए लूप शुरू करने से पहले शर्त को सत्य करने की आवश्यकता नहीं होती।
- उपयोग:
do-while
लूप का उपयोग तब किया जाता है जब हमें पहले कोड ब्लॉक को चलाना होता है और उसके बाद शर्त की जाँच करनी होती है। यह उन स्थितियों में आदर्श है जहां पहली बार कार्य को निष्पादित करना अनिवार्य होता है।
नेस्टेड do-while लूप (Nested do-while Loop)
do-while
लूप को एक और do-while
लूप के भीतर रखा जा सकता है, जिसे नेस्टेड लूप कहा जाता है।
उदाहरण
#include <iostream> using namespace std; int main() { int i = 1; // 2D मैट्रिक्स प्रिंट करना do { int j = 1; do { cout << "(" << i << ", " << j << ") "; j++; } while (j <= 3); cout << endl; i++; } while (i <= 3); return 0; }
इस उदाहरण में, बाहरी do-while
लूप पंक्तियों पर और आंतरिक do-while
लूप स्तंभों पर चलता है, जिससे प्रत्येक पंक्ति के लिए सभी स्तंभ प्रदर्शित होते हैं।