Có nhiều mẫu kim tự tháp (pyramid pattern) khác nhau có thể tạo trong C++. Chúng chủ yếu dùng vòng lặp for lồng nhau. Một số kim tự tháp:
Kim tự tháp cơ bản
Mã tạo kim tự tháp cơ bản:
Ví dụ
#include <iostream>
using namespace std;
int main() {
int n = 6, i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++)
cout << "* ";
cout << endl;
}
return 0;
}
Kết quả đầu ra
* * * * * * * * * * * * * * * * * * * * *
Trong chương trình, 2 vòng lặp for với biến i và j. Vòng ngoài đếm số hàng kim tự tháp, vòng trong đếm số sao in mỗi hàng:
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++)
cout << "* ";
cout << endl;
}
Kim tự tháp xoay (Rotated Pyramid)
Mã tạo kim tự tháp xoay:
Ví dụ
#include <iostream>
using namespace std;
int main() {
int n = 6, k = 2 * n - 2;
for (int i = 0; i < n; i++) {
for (int j = 0; j < k; j++)
cout << " ";
for (int j = 0; j <= i; j++)
cout << "* ";
k = k - 2;
cout << endl;
}
return 0;
}
Kết quả đầu ra
*
* *
* * *
* * * *
* * * * *
* * * * * *
Trong chương trình, hai vòng lặp lồng nhau với biến i và j. k khởi tạo = 2*n - 2. Vòng ngoài đếm số hàng. Vòng trong đầu chỉ số khoảng trống trước sao. Vòng trong sau chỉ số sao mỗi hàng:
for (int i = 0; i < n; i++) {
for (int j = 0; j < k; j++)
cout << " ";
for (int j = 0; j <= i; j++)
cout << "* ";
k = k - 2;
cout << endl;
}