Ở đâ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
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