Разработать рекурсивный метод для вывода на экран указанной картинки - C#
Формулировка задачи:
Разработать рекурсивный метод для вывода на экран следующей картинки:
Пока получается только так:
static void Stroka(int n, char a) { for (int i = 1; i <= n; ++i) { Console.Write(a); } } static void StarR(int i, int n) { if (n > 0) { Stroka(i, ' '); Stroka(n, 'A'); Console.WriteLine(); StarR(i + 1, n - 2); Stroka(i, ' '); Stroka(n, 'A'); Console.WriteLine(); } } static void Main() { Console.Write("n="); int n = int.Parse(Console.ReadLine()); Console.WriteLine(); StarR(0, n); Console.ReadKey(); } }
Решение задачи: «Разработать рекурсивный метод для вывода на экран указанной картинки»
textual
Листинг программы
class Program { public static void print(int indexLetter, int count) { char letter = (char)indexLetter; int countSpace = 80 - count; for (int i = 0; i < 80; ++i) { if (i < countSpace / 2) Console.Write(' '); else if (i < count + countSpace / 2) Console.Write(letter); else Console.Write(' '); } } static void Main(string[] args) { int indexLetter = 65; for (int i = 80; i >= 30; i -= 2) { print(indexLetter, i); indexLetter++; } --indexLetter; for (int i = 32; i <= 80; i += 2) { indexLetter--; print(indexLetter, i); } Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д