षट्कोणीय पैटर्न
दिए गए पूर्णांक n के लिए, हम तारक (*) का उपयोग करके एक षट्कोणीय पैटर्न प्रिंट करते हैं। पैटर्न तीन भागों में विभाजित होता है:
- ऊपरी भाग - त्रिकोणीय शीर्ष
- मध्य भाग - समानांतर भुजाएं
- निचला भाग - त्रिकोणीय तल
उदाहरण
इनपुट: n = 5
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
इनपुट: n = 4
* * * * * * * * * * * * * *
एल्गोरिदम
- कुल लंबाई की गणना करें:
len = 2 * n - 1 - ऊपरी भाग: i = 0 से n-1 तक लूप
temp = i + nस्थान- स्थिति
n + i - 1औरn - i - 1पर * प्रिंट करें
- मध्य भाग: m = 0 से n-3 तक लूप
- पहले और अंतिम स्तंभ (0 और len-1) पर * प्रिंट करें
- निचला भाग: h = n-1 से 0 तक घटते क्रम में लूप
- ऊपरी भाग के समान तर्क लेकिन उल्टे क्रम में
C प्रोग्राम
#include <stdio.h>
void pattern(int n) {
int len = 2 * n - 1;
// ऊपरी भाग
for (int i = 0; i < n; i++) {
int temp = i + n;
for (int k = 0; k < temp; k++) {
if ((k == n + i - 1) || (k == n - i - 1))
printf("*");
else
printf(" ");
}
printf("\n");
}
// मध्य भाग
for (int m = 0; m < n - 2; m++) {
for (int j = 0; j < len; j++) {
if (j == 0 || j == len - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
// निचला भाग
int res = n - 1;
for (int h = res; h >= 0; h--) {
int temp2 = h + n;
for (int k = 0; k < temp2; k++) {
if ((k == n + h - 1) || (k == n - h - 1))
printf("*");
else
printf(" ");
}
printf("\n");
}
}
int main() {
int n = 5;
pattern(n);
return 0;
}
पैटर्न विश्लेषण
- कुल पंक्तियाँ: 3n - 2
- चौड़ाई: 2n - 1 वर्ण
- सममिति: लंबवत और क्षैतिज दोनों
विविधताएं
आप विभिन्न वर्णों का उपयोग कर सकते हैं:
// '#' के साथ
if (condition) printf("#"); else printf(" ");
// संख्याओं के साथ
printf("%d", h);