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 << "* " の部分を変更すれば別の文字でパターンを描くことも可能です。ぜひいろいろなパターン出力に挑戦してみてください。
-
C++でピラミッドの体積を計算するプログラムの作り方|底面の形状別の公式と実装例
ピラミッドの底面の種類に応じた辺の長さが与えられたとき、そのピラミッドの体積を計算するのが本記事のテーマです。 ピラミッドとは、外側の面がすべて三角形で構成され、それらが共通の一点(頂点)で交わることで鋭い角を形成する3次元図形です。ピラミッドの体積は、底面がどのような形状であるかによって異なります。 ピラミッドの底面にはさまざまな種類があり、代表的なものは以下の通りです。 底面の形状別の体積の求め方 三角形の底面(三角錐) 底面が三角形の場合、ピラミッドの体積は次の公式で求められます。 体積 = (1/6) × a × b × h 正方形の底面(四角錐) 底面が正方形の場合、ピラミッドの体
-
C++でピラミッドパターンを作成するプログラムの書き方
C++では、ネストしたforループ(二重ループ)を組み合わせることで、さまざまなピラミッド状のパターンを簡単に出力できます。本記事では、その中でも特によく使われる「基本形のピラミッド」と「回転させたピラミッド」の2種類について、実際のコードと実行結果を交えながら詳しく解説します。 基本のピラミッドパターン まずは、もっともシンプルな星(*)によるピラミッドパターンです。以下がその作成コードです。 サンプルコード #include <iostream> using namespace std; int main() { int n = 6, i, j; &n