塗りつぶしパターンをマスターする: コード例を含む包括的なガイド

WBOY
リリース: 2024-07-18 21:23:21
オリジナル
396 人が閲覧しました

Mastering Filled Patterns: A Comprehensive Guide with Code Examples

Selamat datang ke panduan komprehensif kami tentang mencipta pelbagai corak terisi menggunakan gelung dalam pengaturcaraan C! Dalam tutorial ini, kami akan melalui arahan langkah demi langkah tentang cara melukis 18 corak terisi yang berbeza. Corak ini terdiri daripada bentuk asas seperti segi empat sama dan segi tiga kepada bentuk yang lebih kompleks seperti berlian, heksagon dan pentagon. Setiap corak dicipta menggunakan gelung bersarang, menjadikannya latihan yang sangat baik untuk pemula untuk mempraktikkan struktur kawalan dalam C. Mari selami!
Anda boleh menemui semua kod dalam repositori GitHub kami.

Isi kandungan

  1. Pengenalan kepada Nested Loops
  2. Petak Berisi
  3. Diisi Segitiga Kanan
  4. Diisi Segitiga Kanan Songsang
  5. Diisi Segitiga Jajaran Kanan
  6. Diisi Segitiga Terbalik Jajaran Kanan
  7. Diisi Segitiga Pascal Kanan
  8. Diisi Segitiga Pascal Kiri
  9. Diisi Segi Tiga Sama
  10. Diisi Segitiga Sama Sisi Terbalik
  11. Piramid Berisi
  12. Diisi Piramid Terbalik
  13. Berlian Berisi
  14. Jam Pasir Terisi
  15. Ketupat Berisi
  16. Jelanjang Terisi
  17. Segi Enam Berisi
  18. Pentagon yang penuh
  19. Pentagon Terbalik Diisi
  20. Kesimpulan

Pengenalan kepada Gelung Bersarang

Sebelum kita bermula dengan corak, adalah penting untuk memahami konsep gelung bersarang. Gelung bersarang ialah gelung di dalam gelung lain. Struktur ini amat berguna untuk mengendalikan tatasusunan berbilang dimensi dan untuk menjana corak. Dalam C, struktur gelung bersarang biasa kelihatan seperti ini:

リーリー

塗りつぶされた正方形

説明:

  • 塗りつぶされた正方形のパターンは、作成する最も簡単なパターンの 1 つです。
  • これは n 行と n 列で構成され、各セルには同じ文字が含まれます。
  • 2 つのネストされたループを使用して各行と列を反復し、各セルに文字を出力します。
リーリー

出力:

リーリー

塗りつぶされた直角三角形

説明:

  • 塗りつぶされた直角三角形のパターンは、最初の行の 1 文字から始まり、後続の行ごとに 1 文字ずつ増加します。
  • このパターンは、2 つのネストされたループを使用して実現されます。外側のループは行数を制御し、内側のループは各行に出力される文字数を制御します。
  • リーリー
出力:

リーリー


塗りつぶされた逆直角三角形

説明:

    塗りつぶされた逆直角三角形のパターンは、塗りつぶされた直角三角形の反対です。
  • 最初の行は n 文字で始まり、後続の行ごとに 1 文字ずつ減ります。
  • 塗りつぶされた直角三角形と同様に、このパターンは 2 つのネストされたループを使用して作成されます。
  • リーリー
出力:

リーリー


塗りつぶされた右揃えの三角形

説明:

    塗りつぶされた右揃えの三角形パターンは塗りつぶされた直角三角形と似ていますが、三角形は右揃えです。
  • このパターンは、各行の前にスペースを追加して、右揃えの外観を作成することによって実現されます。
  • リーリー
出力:

リーリー


塗りつぶされた右揃えの逆三角形

説明:

    塗りつぶされた右揃えの逆三角形パターンは、塗りつぶされた右揃えの三角形の逆です。
  • 最初の行の 1 文字から始まり、後続の行ごとに 1 文字ずつ増加しますが、三角形は右揃えになります。
  • リーリー
出力:

リーリー


パスカルの塗りつぶされた右三角形

説明:

    塗りつぶされたパスカル右三角形パターンは、直角三角形と逆直角三角形を組み合わせて、パスカルのような三角形を形成します。
  • パターンの前半は塗りつぶされた直角三角形に似ており、後半は塗りつぶされた逆直角三角形に似ています。
  • リーリー
出力:

リーリー


塗りつぶされた左パスカル三角形

説明:

    塗りつぶされた左パスカル三角形のパターンは、塗りつぶされた右パスカル三角形と似ていますが、左揃えです。
  • パターンの前半は塗りつぶされた右揃えの三角形に似ており、後半は塗りつぶされた右揃えの逆三角形に似ています。
  • リーリー
出力:

リーリー


塗りつぶされた正三角形

説明:

    塗りつぶされた正三角形パターンは、各行を中心にして対称的な形状になります。
  • これを実現するために、各行の前にスペースを印刷して文字を中央に配置します。
  • リーリー
出力:

リーリー


塗りつぶされた逆正三角形

説明:

    塗りつぶされた逆正三角形パターンは、塗りつぶされた正三角形の反転バージョンです。
  • ベースは n 文字で始まり、中央に向かって行ごとに 1 文字ずつ減少します。
  • リーリー
出力:

リーリー


満たされたピラミッド

説明:

    塗りつぶされたピラミッド パターンは、一番上の 1 文字から始まり、1 行につき 2 文字ずつ増えていき、対称的なピラミッドを形成します。
  • スペースを使用して各行を中央に配置します。
  • リーリー
出力:

リーリー


塗りつぶされた逆ピラミッド

説明:

    塗りつぶされた逆ピラミッド パターンは、塗りつぶされたピラミッドの逆です。
  • 先頭の 2 * n - 1 文字で始まり、中央揃えで行ごとに 2 文字ずつ減少します。
  • リーリー
出力:

リーリー


埋め尽くされたダイヤモンド

説明:

    塗りつぶされたダイヤモンドパターンは、塗りつぶされた正三角形と塗りつぶされた逆正三角形を組み合わせて形成されます。
  • 対称的なダイヤモンド形状を作成します。
  • リーリー
出力:

リーリー


満たされた砂時計

説明:

    塗りつぶされた砂時計パターンは、逆正三角形と正三角形を組み合わせて砂時計の形を形成します。
  • スペースを追加することで各行が中央に配置されます。
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Filled Rhombus

Explanation:

  • The filled rhombus pattern consists of rows where each row is shifted to the right by spaces.
  • This creates a diamond-like shape with equal length sides.
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Filled Parallelogram

Explanation:

  • The filled parallelogram pattern is created by shifting each row to the right.
  • It looks like a rectangle leaning to one side.
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Filled Hexagon

Explanation:

  • The filled hexagon pattern has a wider middle section, with each row increasing and then decreasing in width.
  • This creates a hexagonal shape.
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Filled Pentagon

Explanation:

  • The filled pentagon pattern starts with one character at the top and increases, forming a wider base.
  • This creates a pentagon-like shape.
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Filled Inverted Pentagon

Explanation:

  • The filled inverted pentagon pattern is the inverted version of the filled pentagon.
  • It starts with the wider base and decreases, forming an inverted pentagon shape.
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"); }
ログイン後にコピー

Output:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ログイン後にコピー

Conclusion

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!