C++で半ピラミッドパターンを出力する方法を解説
この記事では、C++プログラミング言語を使用して、半ピラミッド状のパターンをコンソールに出力する方法を解説します。目的のパターンを実現するために、以下のアルゴリズムを設計しました。
アルゴリズム
ステップ1:パターンの高さ(行数)を設定する ステップ2:外側のループで行数を処理する ステップ3:内側のループで列数を処理する ステップ4:文字(@)でパターンを出力する ステップ5:各行の終わりで改行する(内側のループの外で処理) ステップ6:設定した高さに達するまでループを繰り返す
サンプルコード
上記のアルゴリズムに従って作成したC++のソースコードは以下の通りです。
#include <iostream>
using namespace std;
void PrintBash(int n){
// 外側のループ:行数を処理
for (int i=0; i<n; i++){
// 内側のループ:列数を処理
for(int j=0; j<=i; j++ ){
// 文字を出力
cout << "@ ";
}
// 各行の終わりで改行
cout << endl;
}
}
int main(){
int Len = 6;
PrintBash(Len);
return 0;
}出力結果
上記のコードをコンパイルして実行すると、以下のような半ピラミッドパターンが出力されます。
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
このように、外側のループで行数を制御し、内側のループで各行に表示する文字数を制御することで、シンプルな半ピラミッドパターンを簡単に出力できます。変数「Len」の値を変更すれば、任意の高さのパターンに対応可能です。
-
C言語でハート型パターンを表示するプログラムの書き方
この記事では、C言語を使ってコンソール上にハート型のパターン(アスキーアート)を表示する方法を解説します。完成すると、次のようなハート型の模様が出力されます。パターンの構造を分析するまず、このハート型パターンをよく観察してみましょう。パターンは大きく2つの部分に分けることができます。上部:高さの異なる2つの山(ピーク)があり、その間に隙間が空いています。これがハートの膨らんだ部分に相当します。下部:逆三角形で構成されており、ハートの先端部分に相当します。このように各セクションに分解して考えることで、ループ処理を使ってそれぞれの部分を順番に出力し、全体としてハート型を描くコードを組み立てることが
-
C++で学ぶコンポジットパターン(複合デザインパターン)の基礎と実装例
コンポジットパターン(Composite Pattern)は、複数のオブジェクトからなるグループを、あたかも単一のオブジェクトであるかのように扱いたい場面で活用されるデザインパターンです。 このパターンでは、オブジェクトを木構造(ツリー構造)として組み立てることで、「部分」と「全体」の両方の階層を一貫した形で表現できます。オブジェクト群のツリー構造を生成するパターンであるため、GoFデザインパターンの分類では「構造に関するパターン(Structural Patterns)」に属します。 コンポジットパターンの基本概念 コンポジットパターンでは、自分自身と同じ型のオブジェクト群を内部に保持するク