Я практикую свои навыки программирования с довольно распространенной проблемой, чтобы нарисовать дерево ASCII, состоящее из буквы (скажем, x), чтобы нарисовать дерево.Рисование дерева ASCII с использованием вложенных for-loops
Ie:
Prompt: Enter the number of lines for your tree: 5
Output:
x
xxx
xxxxx
xxxxxxx
x
Решение У меня в настоящее время работает, как я хочу, чтобы это. Мне не хватает одной функции (которая является частью моего вопроса). Проблема в том, что я не понимаю условия for-loop, которые я использовал. Да, я получил помощь от другого человека, и я до сих пор не понимаю их логики, но он работает. Пожалуйста, пожалуйста, пожалуйста, объясните мне, как условные выражения for for работают на самом деле для того, чтобы рисовать то, что я хочу. x.x Кроме того, я не могу нарисовать последний «пень» дерева, последний х в последней строке.
Вот мой код.
static void Main(string[] args)
{
int lines = 0;
Console.WriteLine("Enter number of lines: ");
string LinesAsString = Console.ReadLine();
lines = Convert.ToInt32(LinesAsString);
print(lines);
}
public static void print(int lines)
{
for (int i = 0; i < lines; i++)
{
for (int a = 0; a < lines-i-1; a++)
{
Console.Write(" ");
}
for (int y = 0; y < i*2 + 1; y++)
{
Console.Write("x");
}
Console.WriteLine();
}
}
Любая помощь приветствуется.
Спасибо.
Тупой вопрос - что я могу сказать, когда вы имеете в виду «индекс текущей линии»? – TimelordViktorious
Я имел в виду переменную 'i', которая указывает, какая строка печатается на выходе на каждой итерации' for', которая включает в себя две другие. Просто отредактировал ответ, чтобы уточнить этот момент. –
Спасибо - это очень полезно. Кажется, я понимаю это сейчас. Моя единственная забота - в будущем, с подобными проблемами, мне, вероятно, понадобится помощь с такими вещами! Какие-нибудь подсказки для стратегий решения проблем такого рода? :п – TimelordViktorious