C プログラミングでループを使用してさまざまな塗りつぶしパターンを作成するための包括的なガイドへようこそ!このチュートリアルでは、18 種類の塗りつぶしパターンを描画する方法を段階的に説明します。これらのパターンは、正方形や三角形などの基本的な形状から、ダイヤモンド、六角形、五角形などのより複雑な形状まで多岐にわたります。各パターンはネストされたループを使用して作成されているため、初心者が C の制御構造を練習するのに最適な練習になります。 それでは、詳しく見ていきましょう!
すべてのコードは GitHub リポジトリにあります。
パターンを始める前に、ネストされたループの概念を理解することが重要です。ネストされたループは、別のループ内のループです。この構造は、多次元配列の処理やパターンの生成に特に役立ちます。 C では、典型的な入れ子になったループ構造は次のようになります。
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!
以上が塗りつぶしパターンをマスターする: コード例を含む包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。