
1. รูปสี่เหลี่ยมเต็ม
void drawSquare(int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
cout << "* ";
}
cout << endl;
}
}
// ตัวอย่างผลลัพธ์ (size = 4):
// * * * *
// * * * *
// * * * *
// * * * *
2. รูปสามเหลี่ยม
void drawTriangle(int height) {
for (int i = 1; i <= height; i++) {
for (int j = 1; j <= i; j++) {
cout << "* ";
}
cout << endl;
}
}
// ตัวอย่างผลลัพธ์ (height = 4):
// *
// * *
// * * *
// * * * *
3. รูปสี่เหลี่ยมกลวง
void drawHollowSquare(int size) {
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= size; j++) {
if (i == 1 || i == size || j == 1 || j == size) {
cout << "* ";
} else {
cout << " ";
}
}
cout << endl;
}
}
// ตัวอย่างผลลัพธ์ (size = 4):
// * * * *
// * *
// * *
// * * * *
4. รูปสามเหลี่ยมกลับหัว
void drawInvertedTriangle(int height) {
for (int i = height; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
cout << "* ";
}
cout << endl;
}
}
// ตัวอย่างผลลัพธ์ (height = 4):
// * * * *
// * * *
// * *
// *
5. รูปสามเหลี่ยมตัวเลข
void drawNumberPattern(int rows) {
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
cout << j << " ";
}
cout << endl;
}
}
// ตัวอย่างผลลัพธ์ (rows = 4):
// 1
// 1 2
// 1 2 3
// 1 2 3 4
6. รูปสามเหลี่ยมปิรามิด
void drawPyramid(int height) {
for (int i = 1; i <= height; i++) {
// พิมพ์ช่องว่าง
for (int j = 1; j <= height - i; j++) {
cout << " ";
}
// พิมพ์ดาว
for (int k = 1; k <= 2 * i - 1; k++) {
cout << "*";
}
cout << std::endl;
}
}
// ตัวอย่างผลลัพธ์ (height = 4):
// *
// ***
// *****
// *******
เทคนิคเพิ่มเติม:
- ใช้ตัวแปร
char
เพื่อเปลี่ยนสัญลักษณ์ที่ใช้วาด - ใช้ nested loop เพื่อควบคุมแถวและคอลัมน์
- ใช้เงื่อนไข if-else เพื่อกำหนดว่าจะพิมพ์อะไรในแต่ละตำแหน่ง
- ใช้ arithmetic progression เพื่อคำนวณจำนวนสัญลักษณ์ในแต่ละแถว
- ใช้ modulo operator (%) เพื่อสร้างรูปแบบที่ซับซ้อนขึ้น
หมายเหตุ:
- ปรับขนาดของรูปแบบโดยเปลี่ยนค่า parameter ที่ส่ง