एक संख्या n दी गई है, कार्य n विभिन्न परतों के साथ डायमंड पैटर्न उत्पन्न करना और प्रदर्शित करना है।
उदाहरण
इनपुट: n = 3
आउटपुट: (छवि देखें)
दृष्टिकोण
- पंक्तियों की संख्या इनपुट करें।
- इस पैटर्न में (2 * n) + 1 पंक्तियां होती हैं।
- 0 से n तक स्पेस की संख्या: 2 * (n - i)।
- n+1 से अंत तक स्पेस की संख्या: (i - n) * 2।
एल्गोरिदम
START
फंक्शन print_pattern(n)
i, j घोषित करें
// पहली पंक्ति में स्पेस
i=1 से n*2 तक लूप: स्पेस प्रिंट करें
"0\n" प्रिंट करें
// मध्य पैटर्न
i=1 से (n*2)-1 तक लूप:
यदि i < n तो
j=1 से (n-i)*2 तक: स्पेस प्रिंट करें
अन्यथा
j=1 से (i%n)*2 तक: स्पेस प्रिंट करें
यदि i < n तो
j=0 से i%n तक: j प्रिंट करें
j=(i%n)-1 से 1 तक घटते क्रम: j प्रिंट करें
0 प्रिंट करें
अन्यथा यदि i > n तो
j=0 से n-(i-n) तक: j प्रिंट करें
j=(n-(i-n))-1 से 1 तक: j प्रिंट करें
0 प्रिंट करें
अन्यथा (i == n)
j=0 से n तक: j प्रिंट करें
j=n-1 से 1 तक: j प्रिंट करें
0 प्रिंट करें
नई लाइन प्रिंट करें
// अंतिम पंक्ति स्पेस
i=1 से n*2 तक: स्पेस प्रिंट करें
0 प्रिंट करें
मुख्य फंक्शन
n = 3 सेट करें
print_pattern(n) कॉल करें
STOP
C कोड उदाहरण
#include <stdio.h>
void print_pattern(int n) {
int i, j;
for(i = 1; i <= n * 2; i++) printf(" ");
printf("0\n");
for(i = 1; i <= (n * 2) - 1; i++) {
if(i < n) {
for(j = 1; j <= (n - i) * 2; j++) printf(" ");
} else {
for(j = 1; j <= (i % n) * 2; j++) printf(" ");
}
if(i < n) {
for(j = 0; j <= i % n; j++) printf("%d ", j);
for(j = (i % n) - 1; j > 0; j--) printf("%d ", j);
printf("0");
} else if(i > n) {
for(j = 0; j <= n - (i - n); j++) printf("%d ", j);
for(j = (n - (i - n)) - 1; j > 0; j--) printf("%d ", j);
printf("0");
} else {
for(j = 0; j <= n; j++) printf("%d ", j);
for(j = n - 1; j > 0; j--) printf("%d ", j);
printf("0");
}
printf("\n");
}
for(i = 1; i <= n * 2; i++) printf(" ");
printf("0");
}
int main() {
int n = 3;
print_pattern(n);
return 0;
}
आउटपुट
(छवि देखें)