Dùng vòng lặp vẽ hình trong C

mọi người giúp em hướng bài này với ạ em bí chỗ xử lí chiều cao và rộng


Bạn up đề lên dưới dạng chữ được không? Hình chụp của bạn bé quá nên mình không nhìn thấy rõ pattern là gì :sweat:

2 Likes

Input

Dòng 1: t - số lượng testcases

t dòng tiếp theo: mỗi dòng ứng với một testcase, là bộ 4 số tự nhiên (r, c, h, w). Trong đó:

r là số dòng

c là số cột

h chiều cao của ô

w chiều rộng của ô

0 < t, r, c, h, w < 10

Output

Ứng với mỗi testcase in ra hình theo mẫu (xem phần Example). Các hình cách nhau bởi một dòng trống.
example
Input:
3
3 1 2 1
4 4 1 2
2 5 2 2
output


đây bác ơi

Xử lý từ từ, tách thành các hàm riêng biệt thì sẽ dễ quản lý hơn. Đừng ôm tất cả vào hàm main để “tẩu hỏa nhập ma”.

Cơ bản thì đây là chức năng vẽ bảng.

  • Bảng có r dòng và c cột.
  • Mỗi ô (cell) sẽ có chiều cao h và chiều rộng w.
  • Ô thể hiện là kí tự ..
  • Viền ô và bảng là kí tự *.
1 Like

em cảm ơn bác em làm đc rồi ạ nhưng cho tất vào hàm main :frowning:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int r,c,h,w,i,j;
		scanf("%d%d%d%d",&r,&c,&h,&w);
		for(i=1; i<=r+1+h*r; i++)
		{
			for(j=1; j<=w*c+c+1; j++)
			{
				if(i%(h+1)==1||j%(w+1)==1)
				{
					printf("*");
				}
				else
				{
					printf(".");
				}
			}
			printf("\n");

		}
	}
	return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?