Nested Loops and Pattern Programs
Nested loops क्या हैं?
Nested loop बस एक loop के अंदर दूसरा loop है। बाहरी loop के हर एक pass के लिए, भीतरी loop पूरा चलता है। यही दो-स्तरीय गिनती patterns print करने के लिए चाहिए।
Rows और columns में सोचना
हर pattern की तरकीब यह है: बाहरी loop row है, और भीतरी loop column है (उस row में क्या print करना है)। पहले तय करें कितनी rows चाहिए, फिर तय करें हर row में क्या हो।
Stars का square
3 rows में से हर एक 3 stars print करती है:
for (int i = 1; i <= 3; i++) { // rows
for (int j = 1; j <= 3; j++) { // columns
cout << "* ";
}
cout << "\n"; // har row ke baad nai line
}* * *
* * *
* * *
एक समकोण त्रिभुज
भीतरी loop को row number पर निर्भर बनाएँ, ताकि row i i stars print करे:
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) { // dhyan: j <= i
cout << "* ";
}
cout << "\n";
}*
* *
* * *
* * * *
एक number त्रिभुज
Star की जगह column number print करें:
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
cout << j << " ";
}
cout << "\n";
}1
1 2
1 2 3
1 2 3 4
एक pyramid
Pyramid stars से पहले एक spaces loop जोड़ता है — stars बढ़ने पर spaces घटते हैं:
int rows = 4;
for (int i = 1; i <= rows; i++) {
for (int s = 1; s <= rows - i; s++) cout << " "; // spaces
for (int j = 1; j <= 2 * i - 1; j++) cout << "*"; // stars
cout << "\n";
}*
***
*****
*******
आम गलतियाँ
- हर row के बाद
cout << "\n";भूलना, तो सब कुछ एक line पर print होता है। j <= i(row के साथ बढ़ता) की जगहj <= 3(निश्चित) इस्तेमाल करना।- Pyramid में spaces की गिनती गलत करना — यह
rows - iहै। - दोनों loops के लिए वही variable नाम दोबारा इस्तेमाल करना, गिनती तोड़ना।
एक उल्टा समकोण त्रिभुज print करें (ऊपर 4 stars, नीचे 1)। फिर एक number pyramid आज़माएँ। एक बार में एक loop bound बदलें और देखें आकार कैसे बदलता है।
सारांश
- Nested loop हर बाहरी pass के लिए भीतरी loop पूरा चलाता है।
- Patterns के लिए: बाहरी loop = rows, भीतरी loop = हर row में क्या भरे।
- त्रिभुज पाने को भीतरी bound को
iपर निर्भर बनाएँ। - Pyramids stars से पहले एक spaces loop जोड़ते हैं।
- हर row के अंत में हमेशा एक newline print करें।
