Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình in kim tự tháp rỗng và mô hình kim cương trong C ++

Ở đây chúng ta sẽ xem cách tạo các mẫu kim tự tháp và kim cương rỗng bằng C ++. Chúng tôi có thể tạo ra các mẫu Kim tự tháp rắn rất dễ dàng. Để làm cho nó trở nên rỗng, chúng ta phải thêm một số thủ thuật.

Kim tự tháp rỗng

Đối với kim tự tháp ở dòng đầu tiên nó sẽ in một ngôi sao và ở dòng cuối cùng nó sẽ in n số ngôi sao. Đối với các dòng khác, nó sẽ in chính xác hai dấu sao ở đầu và cuối dòng, và sẽ có một số khoảng trống giữa hai dấu bắt đầu này.

Mã mẫu

#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;
   }
}

Đầu ra

Chương trình in kim tự tháp rỗng và mô hình kim cương trong C ++

Kim cương rỗng

Đối với viên kim cương ở dòng đầu tiên và ở dòng cuối cùng, nó sẽ in một ngôi sao. Đối với các dòng khác, nó sẽ in chính xác hai ngôi sao ở đầu và cuối dòng, và sẽ có một số khoảng trống giữa hai dấu bắt đầu này. Kim cương có hai phần. Nửa trên và nửa dưới. Ở nửa trên, chúng ta phải tăng số lượng khoảng trắng và ở nửa dưới, chúng tôi phải giảm số lượng khoảng trống. Ở đây, số dòng có thể được chia thành hai phần bằng cách sử dụng một biến khác có tên là mid.

Mã mẫu

#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;
   }
}

Đầu ra

Chương trình in kim tự tháp rỗng và mô hình kim cương trong C ++