Làm thế nào để in ra các hình vuông số lồng nhau?

create a matrix A(n x n) with n is the input

if n = 1

the output is a matrix like that

0
if n = 2

the output is a matrix like that

1 1
1 1
if n = 3

the output is a matrix like that

1 1 1
1 0 1
1 1 1
if n = 4

the output is a matrix like that

1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
if n = 5

the output is a matrix like that

2 2 2 2 2
2 1 1 1 2
2 1 0 1 2
2 1 1 1 2
2 2 2 2 2

Ai biết chỉ mình với

mình chỉ mới làm được có vòng ngoài cùng à

còn các vòng nhỏ ở trong thì sao z

for (i = 0; i < n; i++)
{
	for (j = 0; j < n; j++)
	{
                    a[i][j] = x;
                    a[n - 1 - i][j] = x;
                    a[j][i] = x;
                    a[j][n - 1 - i] = x;
            }
    }

phải cho biến chạy như thế nào

Cám ơn nhiều

Bạn thấy các hình vuông có gì đặc biệt không?

Hình vuông ngoài cùng có góc trên trái là (0, 0), góc dưới phải là (n-1, n-1);
Hình vuông tiếp theo có góc trên trái là (1, 1), góc dưới phải là (n-2, n-2);
Hình vuông tiếp theo nữa có góc trên trái là (2, 2), góc dưới phải là (n-3, n-3);

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