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

中空のピラミッドとダイヤモンドのパターンをC++で印刷するプログラム


ここでは、C++を使用して中空のピラミッドとダイヤモンドのパターンを生成する方法を説明します。ソリッドピラミッドパターンを非常に簡単に生成できます。中空にするには、いくつかのトリックを追加する必要があります。

中空ピラミッド

最初の行のピラミッドには1つの星が印刷され、最後の行にはn個の星が印刷されます。他の行の場合、行の開始と終了に正確に2つの星が印刷され、これら2つの開始の間に空白があります。

サンプルコード

#include <iostream>
using namespace std;
int main() {
   int n, i, j;
   cout << "Enter number of lines: ";
   cin >> n;
   for(i = 1; i<=n; i++) {
      for(j = 1; j<=(n-i); j++) { //print the blank spaces before star
         cout << " ";
      }
      if(i == 1 || i == n) { //for the first and last line, print the stars continuously
         for(j = 1; j<=i; j++) {
            cout << "* ";
         }
      }else{
         cout << "*"; //in each line star at start and end position
         for(j = 1; j<=2*i-3; j++) { //print space to make hollow
            cout << " ";
         }
         cout << "*";
      }
      cout << endl;
   }
}

出力

中空のピラミッドとダイヤモンドのパターンをC++で印刷するプログラム

中空ダイヤモンド

最初の行と最後の行のダイヤモンドの場合、1つの星が印刷されます。他の行の場合、行の開始と終了に正確に2つの星が印刷され、これら2つの開始の間に空白がいくつかあります。ダイヤモンドには2つの部分があります。上半分と下半分。上半分ではスペース数を増やし、下半分ではスペース数を減らす必要があります。ここでは、midと呼ばれる別の変数を使用して、行番号を2つの部分に分割できます。

サンプルコード

#include <iostream>
using namespace std;
int main() {
   int n, i, j, mid;
   cout << "Enter number of lines: ";
   cin >> n;
   if(n %2 == 1) { //when n is odd, increase it by 1 to make it even
      n++;
   }
   mid = (n/2);
   for(i = 1; i<= mid; i++) {
      for(j = 1; j<=(mid-i); j++) { //print the blank spaces before star
         cout << " ";
      }
      if(i == 1) {
         cout << "*";
      }else{
         cout << "*"; //in each line star at start and end position
         for(j = 1; j<=2*i-3; j++) { //print space to make hollow
            cout << " ";
         }
         cout << "*";
      }
      cout << endl;
   }
   for(i = mid+1; i<n; i++) {
      for(j = 1; j<=i-mid; j++) { //print the blank spaces before star
         cout << " ";
      }
      if(i == n-1) {
         cout << "*";
      }else{
         cout << "*"; //in each line star at start and end position
         for(j = 1; j<=2*(n - i)-3; j++) { //print space to make hollow
            cout << " ";
         }
         cout << "*";
      }
      cout << endl;
   }
}

出力

中空のピラミッドとダイヤモンドのパターンをC++で印刷するプログラム


  1. Cでピラミッドパターンを印刷するプログラム

    プログラムの説明 ピラミッドは、多角形の底辺と頂点と呼ばれる点を接続することによって形成される多面体です。各ベースエッジと頂点は、側面と呼ばれる三角形を形成します。多角形の底面を持つ円錐曲線です。 n辺の底面を持つピラミッドには、n + 1の頂点、n + 1の面、および2nのエッジがあります。すべてのピラミッドは自己双対です。 アルゴリズム Accept the number of rows from the user to form pyramid shape Iterate the loop till the number of rows specified by the user

  2. Cでダイヤモンドパターンを印刷するプログラム

    プログラムの説明 ダイアモンドパターンは、単純なピラミッドパターンと逆ピラミッドパターンを組み合わせたものです。 アルゴリズム First Row: Display 1 Second Row: Display 1,2,3 Third Row: Display 1,2,3,4,5 Fourth Row: Display 1,2,3,4,5,6,7 Fifth Row: Display 1,2,3,4,5,6,7,8,9 Display the same contents from 4th Row till First Row below the fifth Row. 例 /* Program