Written by Tridev sharma
Write a C program to print hollow diamond star (*) pattern series of n rows using for loop. How to print hollow diamond star pattern structure using for loop in C programming. The pattern should look like:
**********
**** ****
*** ***
** **
* *
* *
** **
*** ***
**** ****
**********
Required knowledge:
Basic C programming, For loopBefore continuing to this pattern you must know how to print diamond star pattern.
Logic:
The pattern seems to be one of the complex pattern to think. To make it easier bisect it in two halves where the upper half looks like:**********
**** ****
*** ***
** **
* *
and lower half looks like:* *
** **
*** ***
**** ****
**********
Now consider the upper pattern here trailing stars are simple inverted right triangle pattern that can be easily printed and each row contains total 2*rownumber - 2spaces and the leading stars are will be also printed same as trailing stars. Now moving on to the second half if you look the the trailing and leading stars you will find that both of them are simple right triangle star patterns and total number of spaces per row is 2*rownumber - 2.
Program:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| /** * C program to print hollow diamond star pattern */ #include <stdio.h> int main() { int i, j, n; printf ( "Enter value of n : " ); scanf ( "%d" , &n); //Loop for printing upper half part of the pattern for (i=1; i<=n; i++) { for (j=i; j<=n; j++) { printf ( "*" ); } for (j=1; j<=(2*i-2); j++) { printf ( " " ); } for (j=i; j<=n; j++) { printf ( "*" ); } printf ( "\n" ); } //Loop for printing lower half part of the pattern for (i=1; i<=n; i++) { for (j=1; j<=i; j++) { printf ( "*" ); } for (j=(2*i-2); j<(2*n-2); j++) { printf ( " " ); } for (j=1; j<=i; j++) { printf ( "*" ); } printf ( "\n" ); } return 0; } |
No comments:
Post a Comment