Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
int Vertical = 20;
int Horizontal = 50;
char drawChar = '*';
char insideChar = ' ';
int countLoopVertical = 0;
int countLoopHorizontal = 0;
while (countLoopVertical < Vertical)
@ { countLoopHorizontal = 0;
while (countLoopHorizontal < Horizontal)
{
if (countLoopVertical % (Vertical - 1) == 0 ||
((countLoopVertical % (Vertical - 1) != 0) &&
(countLoopHorizontal % (Horizontal - 1) == 0)))
{
Console.Write(drawChar);
}
else
{
Console.Write(insideChar);
@countLoopHorizontal++;
}
}
{
Console.WriteLine();
countLoopVertical++;
}
Console.ReadKey();
}
Hiện tại em đang không hiểu 2 dòng em để dấu @. Tại sao tăng nó lên 1 đơn vị và lại gán cho nó bằng 0??.
Dòng
countLoopHorizontal = 0;
countLoopHorizontal
được đặt lại về 0. Điều này có nghĩa là ta bắt đầu vẽ từ cột đầu tiên của hàng đó.Dòng
countLoopHorizontal++;
:countLoopHorizontal
tăng lên 1. Điều này có nghĩa là ta chuyển sang vẽ cột tiếp theo.Bạn debug đi cho hiểu logic vẽ