पैटर्न प्रिंटिंग में लूप्स का उपयोग
नेस्टेड for लूप्स का उपयोग करके संख्याओं/प्रतीकों को पिरामिड, त्रिकोण, हीरा आदि पैटर्न में प्रिंट किया जा सकता है।
उदाहरण 1: पिरामिड पैटर्न (*)
#include <stdio.h>
int main() {
int n;
printf("पंक्तियों की संख्या: ");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
// अग्रणी स्पेस
for (int space = 0; space <= n - i; space++)
printf(" ");
// तारे
for (int j = 1; j <= 2*i - 1; j++)
printf("* ");
printf("\n");
}
return 0;
}
आउटपुट (n=5)
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
उदाहरण 2: समकोण त्रिभुज (संख्याओं के साथ)
#include <stdio.h>
int main() {
int rows;
printf("पंक्तियाँ: ");
scanf("%d", &rows);
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++)
printf("%d", j);
printf("\n");
}
return 0;
}
आउटपुट (rows=5)
1 12 123 1234 12345
अन्य सामान्य पैटर्न्स
उल्टा समकोण त्रिभुज
for (int i = rows; i >= 1; i--) {
for (int j = 1; j <= i; j++)
printf("%d ", j);
printf("\n");
}
1 2 3 4 5 1 2 3 4 1 2 3 1 2 1
फ्लॉयड का त्रिभुज (Floyd's Triangle)
int count = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++)
printf("%d ", count++);
printf("\n");
}
1 2 3 4 5 6 7 8 9 10
पास्कल त्रिभुज (Pascal's Triangle)
for (int i = 0; i < rows; i++) {
// स्पेस
for (int s = 0; s < rows - i - 1; s++) printf(" ");
int val = 1;
for (int j = 0; j <= i; j++) {
printf("%4d", val);
val = val * (i - j) / (j + 1); // अगला द्विपद गुणांक
}
printf("\n");
}
संख्या पिरामिड
for (int i = 1; i <= n; i++) {
for (int s = 0; s < n - i; s++) printf(" ");
for (int j = 1; j <= i; j++) printf("%d ", j);
for (int j = i - 1; j >= 1; j--) printf("%d ", j);
printf("\n");
}
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
लूप संरचना सारांश
| पैटर्न | बाहरी लूप | आंतरिक लूप 1 (स्पेस) | आंतरिक लूप 2 (सामग्री) |
|---|---|---|---|
| पिरामिड | 1 से n | 0 से n-i | 1 से 2*i-1 |
| समकोण Δ | 1 से n | कोई नहीं | 1 से i |
| उल्टा Δ | n से 1 | कोई नहीं | 1 से i |
| हीरा | 1 से n, फिर n-1 से 1 | अनुसार | अनुसार |
टिप्स
printf("%*s", n, "")से स्पेस प्रिंट करें (C99)- बड़े पैटर्न के लिए बफर में बनाकर एक बार प्रिंट करें
putchar()printf("%c")से तेज