01/10/2018, 12:19

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

HK boy viết 14:22 ngày 01/10/2018

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);

Bài liên quan
0