C++ では、ピラミッド、長方形、正方形などを含むさまざまなループのセットを使用して、さまざまな幾何学的形状を印刷できます。 C++ の三角形ファミリーに特別に追加されたのは、特定のアルゴリズムを使用して要素を三角形の形状で出力する Pascal の Triangle です。
C++ のパスカルの三角形
C++ のパスカルの三角形は、三角形に配置された二項係数の配列です。各行の要素の数は行の数に等しく、各行の最初と最後の要素は 1 に設定されます。行内のすべてのエントリは二項係数であり、数値の値は加法プロパティを適用することによって選択されます。三角形のすべての要素は、上の 2 つの要素とその左の要素を加算することによって取得されます。パスカルの三角形の二項係数の公式
C ( 行、n ) = ライン ! / ( ( ライン - n ) ! * n )
パスカルの三角形を実装する簡単な方法は、ループを実行し、各ループで二項係数法を実装することです。
入れ子ループを使用したパスカルの三角形
これは、C++ でパスカルの三角形を出力するために使用されるソース コードです。
#include
使用して 名前空間 標準 ;
整数 主要 ( )
{
整数 行 ;
コート << 'パスカルの三角形の行数を入力してください': ' ;
食べる >> 行 ;
コート << 終わり ;
のために ( 整数 私 = 0 ; 私 < 行 ; 私 ++ )
{
整数 ヴァル = 1 ;
のために ( 整数 j = 1 ; j < ( 行 - 私 ) ; j ++ )
{
コート << 「」 ;
}
のために ( 整数 k = 0 ; k <= 私 ; k ++ )
{
コート << 「 」 << ヴァル ;
ヴァル = ヴァル * ( 私 - k ) / ( k + 1 ) ;
}
コート << 終わり << 終わり ;
}
コート << 終わり ;
戻る 0 ;
}
ユーザーは、パスカルの三角形の行数を入力するように求められます。 for ループは、0 番目の行から開始して各行を反復するために使用され、ユーザーが設定した最大行数に達するまで反復を続けます。三角形に希望の形を与えるために、各数字の間に 3 つのスペースが追加されます。 for ループは、行内の行と要素の数を同じに保つために使用されます。次に、二項係数式を適用して三角形の要素の値を計算します。
ユーザーは三角形の行数を 10 と入力します。設定されたパラメータに従ったパスカルの三角形がコンソール ウィンドウに出力されます。
直角パスカルの三角形
これは直角パスカルの三角形を出力するために書かれたプログラム例です。
#include使用して 名前空間 標準 ;
空所 プリントパスカル ( 整数 n )
{
整数 到着しました [ n 】 [ n 】 ;
のために ( 整数 ライン = 0 ; ライン < n ; ライン ++ )
{
のために ( 整数 私 = 0 ; 私 <= ライン ; 私 ++ )
{
もし ( ライン == 私 || 私 == 0 )
到着しました [ ライン 】 [ 私 】 = 1 ;
それ以外
到着しました [ ライン 】 [ 私 】 = 到着しました [ ライン - 1 】 [ 私 - 1 】 +
到着しました [ ライン - 1 】 [ 私 】 ;
コート << 到着しました [ ライン 】 [ 私 】 << 「」 ;
}
コート << 」 \n 」 ;
}
}
整数 主要 ( )
{
整数 n ;
コート << 'パスカルの三角形の行数を入力してください': ' ;
食べる >> n ;
プリントパスカル ( n ) ;
戻る 0 ;
}
このソース コードでは、パスカルの三角形を出力するためのすべての標準ライブラリを含む
ユーザーがパスカルの三角形の線に「6」をいくつか入力すると、アルゴリズムが実行されて直角のパスカルの三角形が印刷されます。
結論
C++ のパスカルの三角形は、三角形に配置された二項係数の配列です。定義された数の三角形の要素を格納できる補助配列が宣言されます。各行の要素の数は行の数に等しく、各行の最初と最後の要素は 1 に設定されます。行内のすべてのエントリは二項係数であり、数値の値は加法プロパティを適用することによって選択されます。三角形のすべての要素は、上の 2 つの要素とその左の要素を加算することによって取得されます。