Dạng 1: Vẽ hình
Cách giải quyết chung nhất của dạng này là duyệt hình theo ma trận và xác định vị trí đang xét có thuộc hình hay không.Bài 1: Vẽ hình chữ nhật đặc có chiều dài n và chiều rộng m. Ví dụ: m = 4, n = 5
* * * * * * * * * * * * * * * * * * * *Hướng làm: Cứ duyệt hết ma trận và in ra dấu * thôi.
void ChuNhatDac(int m, int n) { for (int i = 1; i <= m; ++i) { for (int j = 1; j <= n; ++j) printf("* "); printf("\n"); } }
Bài 2: Vẽ hình chữ nhật rỗng chiều dài n và chiều rộng m. Ví dụ: m = 4, n = 5
* * * * * * * * * * * * * *Hướng làm: Ta phải xác định được vị trí nào in dấu * và vị trí in dấu cách. Gọi biến i là biến duyệt dòng, biến j là biết duyệt cột thì ta nhận thấy những dòng in dấu * là i = 1, i = m, j = 1, j = n.
void ChuNhatRong(int m, int n) { for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) if (i == 1 || j == 1 || i == m || j == n) printf("* "); else printf(" "); printf("\n"); } }Bài 3: Vẽ tam giác vuông cân đặc có chiều cao h. Ví dụ: h = 4
* * * * * * * * * *Hướng làm: Gọi i là biến duyệt dòng, j là biến duyệt cột thì ta thấy số dấu * mỗi dòng tăng đều theo i. Vậy sẽ in dấu * ở những vị trí j <= i.
void TamGiacVuongCanDac(int h) { for (int i = 1; i <= h; i++) { for (int j = 1; j <= i; j++) printf("* "); printf("\n"); } }Bài 4: Vẽ tam giác vuông cân rỗng có chiều cao h. Ví dụ: h = 5
* * * * * * * * * * * *Hướng làm: Cách làm tương tự bài 3 nhưng ta phải xác định đoạn in dấu * và vị trí in dấu cách. Nhìn ví dụ ta nhận thấy các đoạn in dấu * là i = h, j = 1 và j = i.
void TamGiacVuongCanRong(int h) { for (int i = 1; i <= h; i++) { for (int j = 1; j <= i; j++) { if (j == 1 || j == i || i == h) printf("* "); else printf(" "); } printf("\n"); } }Bài 5: Vẽ tam giác cân đặc có chiều cao h. Ví dụ: h = 5
* * * * * * * * * * * * * * * * * * * * * * * * *Hướng làm: Nhìn ví dụ ta nhận thấy tam giác cân này có chiều cao h thì có đáy là 2h-1. Vì vậy ta dùng 2 biến m và n để xác định khoảng sẽ in dấu *. m và n ban đầu sẽ bằng h, sau đó m sẽ giảm và n sẽ tăng để mở rộng khoảng in dấu * ra đến đáy.
void TamGiacCanDac(int h) { int m = h, n = h; for (int i = 1; i <= h; i++) { for (int j = 1; j <= 2 * h - 1; j++) { if (j >= m && j <= n) printf("*"); else printf(" "); } m--; n++; printf("\n"); } }Bài 6: Vẽ tam giác cân rỗng có chiều cao h. Ví dụ: h = 5
* * * * * * * * * * * * * * * *Hướng làm: Tương tự cách làm của bài 5 nhưng ta chỉ cần xác định đoạn in dấu *. Các đoạn in dấu * là i = h, j = m và j = n.
void TamGiacCanRong(int h) { int m = h, n = h; for (int i = 1; i <= h; i++) { for (int j = 1; j <= 2 * h - 1; j++) { if (j == m || j == n || i== h) printf("*"); else printf(" "); } m--; n++; printf("\n"); } }
Mời các bạn xem tiếp phần 2
Nhận xét này đã bị tác giả xóa.
Trả lờiXóaBai viet co ich lam ad
Trả lờiXóaem chỉ biêt dùng các hàm void main , int main thôi ạ!vây làm sao để dùng được các ham void như của anh ạ?
Trả lờiXóain tam giác vuông rỗng bị sai kết quả
Trả lờiXóaĐúng rồi, mình không tìm được lỗi ở đâu
Xóanhư con cặc
Trả lờiXóahình tròn thì làm sao hả ad?
Trả lờiXóafor (int i = 1; i <= n; i++)
Trả lờiXóa{
int j, k;
for (j = 1; j <=n- i; j++)
{
cout << " ";
}
for ( k = 1; k <= 2 * i - 1; k++)
{
cout << "*";
}
cout << "\n";
}
tạo tam giác cân kiểu này thì làm rỗng nó sao ad;
Cho em hỏi vẽ cây thông có đáy là hình vuông 3 tầng thì làm sao ạ
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaanh co the giai giup e sang ngon ngu pascal duoc k a....
Trả lờiXóahelp me!!!!!
Nhận xét này đã bị tác giả xóa.
Trả lờiXóagiống code mẫu quá mấy ông toàn cover code của nhanh lại chẳng thấy gì mới mẻ cả
Trả lờiXóa