Welcome to our comprehensive guide on creating various filled patterns using loops in C programming! In this tutorial, we'll walk through step-by-step instructions on how to draw 18 different filled patterns. These patterns range from basic shapes like squares and triangles to more complex forms like diamonds, hexagons, and pentagons. Each pattern is created using nested loops, making it an excellent exercise for beginners to practice control structures in C. Let's dive in!
You can find all the code in our GitHub repository.
Before we start with the patterns, it’s essential to understand the concept of nested loops. A nested loop is a loop inside another loop. This structure is particularly useful for handling multi-dimensional arrays and for generating patterns. In C, a typical nested loop structure looks like this:
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // Code to execute } }
int n = 5; // size of the square char ch = '*'; printf("1. Filled Square:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("2. Filled Right Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("3. Filled Inverted Right Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("4. Filled Right Aligned Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("5. Filled Right Aligned Inverted Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 1; j <= i; j++) { printf(" "); } for (int j = n; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("6. Filled Right Pascal Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i + 1; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n; i++) { for (int j = n; j > i + 1; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("7. Filled Left Pascal Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j < i + 1; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n; i++) { for (int j = 0; j < i + 1; j++) { printf(" "); } for (int j = n - 1; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("8. Filled Equilateral Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("9. Filled Inverted Equilateral Triangle:\n"); for (int i = n - 1; i >= 0; i--) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("10. Filled Pyramid:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j < (2 * i + 1); j++) { printf("%c", ch); } printf("\n"); }
* *** ***** ******* *********
printf("11. Filled Inverted Pyramid:\n"); for (int i = n; i > 0; i--) { for (int j = n - i; j > 0; j--) { printf(" "); } for (int j = 0; j < (2 * i - 1); j++) { printf("%c", ch); } printf("\n"); }
********* ******* ***** *** *
printf("12. Filled Diamond:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n - 1; i++) { for (int j = 0; j <= i; j++) { printf(" "); } for (int j = n - 1; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("13. Filled Hourglass:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { printf(" "); } for (int j = 0; j < (n - i); j++) { printf("%c ", ch); } printf("\n"); } for (int i = 1; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("14. Filled Rhombus:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n - i - 1; j++) { printf(" "); } for (int j = 0; j < n; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("15. Filled Parallelogram:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { printf(" "); } for (int j = 0; j < n * 2; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("16. Filled Hexagon:\n"); for (int i = 0; i < n / 2; i++) { for (int j = n / 2 - i; j > 0; j--) { printf(" "); } for (int j = 0; j < n + 1 * i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = n / 2; i >= 0; i--) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("17. Filled Pentagon:\n"); for (int i = 0; i < n + 1; i++) { for (int j = n; j > i; j--) { printf(" "); } for (int j = 0; j < (i + 1); j++) { printf(" %c", ch); } printf("\n"); } for (int i = n / 2; i >= 0; i--) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("18. Filled Inverted Pentagon:\n"); for (int i = 0; i <= n / 2; i++) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = n + 1; i > 0; i--) { for (int j = n + 2; j > i; j--) { printf(" "); } for (int j = 0; j < i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Learning to create these filled patterns in C is an excellent way to practice using nested loops and enhance your understanding of how loops work. By experimenting with different values and shapes, you can deepen your understanding of control structures in C and develop a keen eye for detail and logic. Whether you're a beginner or looking to brush up on your skills, these patterns provide a solid foundation for mastering loops in C programming.
We hope this guide has been helpful and encourages you to explore more complex patterns and designs. Happy coding!
For more tutorials and coding tips, be sure to subscribe to our blog and follow us on social media!
The above is the detailed content of Mastering Filled Patterns: A Comprehensive Guide with Code Examples. For more information, please follow other related articles on the PHP Chinese website!