C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++でピラミッド型のパターンを出力する方法

C++プログラミングでは、二重ループ(for文とwhile文)を組み合わせることで、コンソールにピラミッド状のパターンを簡単に出力できます。この記事では、その基本的な実装方法を解説します。

ピラミッド出力の仕組み

ピラミッドを出力するポイントは、次の2つの要素を制御することです。

  • 空白(スペース)の出力: 各行の左側に適切な数のスペースを挿入し、ピラミッドの形状を作ります。
  • アスタリスク(*)の出力: 各行に奇数個の「*」を出力します(1個、3個、5個…)。

外側のforループで行数を制御し、内側のループでスペースとアスタリスクを出力しています。

サンプルコード

#include <iostream>
using namespace std;
int main() {
    int space, rows = 6;
    for(int i = 1, k = 0; i <= rows; ++i, k = 0){
        // 左側の空白を出力
        for(space = 1; space <= rows - i; ++space){
            cout << " ";
        }
        // アスタリスクを出力(各行に 2*i-1 個)
        while(k != 2 * i - 1){
            cout << "* ";
            ++k;
        }
        cout << endl;
    }
    return 0;
}

コードのポイント

  • 変数 rows はピラミッドの高さ(行数)を表し、ここでは6行に設定しています。
  • 最初の内側のforループは、rows - i 個のスペースを出力します。行が下に行くほどスペースが減り、中央に寄っていきます。
  • whileループは、各行に 2*i - 1 個のアスタリスクを出力します。これにより、1行目は1個、2行目は3個というように奇数個ずつ増えていきます。

出力結果

上記のコードをコンパイルして実行すると、以下のようなピラミッドが出力されます。

     *
    * * *
   * * * * *
  * * * * * * *
 * * * * * * * * *
* * * * * * * * * * *

応用のヒント

この基本構造を応用すれば、数字を使ったピラミッドや逆さピラミッド、ダイヤモンド型のパターンなども簡単に作成できます。例えば、rows の値を変更すればピラミッドの高さを自由に調整でき、cout << "* " の部分を変更すれば別の文字でパターンを描くことも可能です。ぜひいろいろなパターン出力に挑戦してみてください。

  1. C++でピラミッドの体積を計算するプログラムの作り方|底面の形状別の公式と実装例

    ピラミッドの底面の種類に応じた辺の長さが与えられたとき、そのピラミッドの体積を計算するのが本記事のテーマです。 ピラミッドとは、外側の面がすべて三角形で構成され、それらが共通の一点(頂点)で交わることで鋭い角を形成する3次元図形です。ピラミッドの体積は、底面がどのような形状であるかによって異なります。 ピラミッドの底面にはさまざまな種類があり、代表的なものは以下の通りです。 底面の形状別の体積の求め方 三角形の底面(三角錐) 底面が三角形の場合、ピラミッドの体積は次の公式で求められます。 体積 = (1/6) × a × b × h 正方形の底面(四角錐) 底面が正方形の場合、ピラミッドの体

  2. C++でピラミッドパターンを作成するプログラムの書き方

    C++では、ネストしたforループ(二重ループ)を組み合わせることで、さまざまなピラミッド状のパターンを簡単に出力できます。本記事では、その中でも特によく使われる「基本形のピラミッド」と「回転させたピラミッド」の2種類について、実際のコードと実行結果を交えながら詳しく解説します。 基本のピラミッドパターン まずは、もっともシンプルな星(*)によるピラミッドパターンです。以下がその作成コードです。 サンプルコード #include <iostream> using namespace std; int main() {    int n = 6, i, j; &n