Закрашивание изображения с помощью рекурсии - C#
Формулировка задачи:
Неподъемный груз для 10-ого класса.
Я совершенно не могу догнать первое задание по теме рекурсия, приведите пример хотя бы для первого рисунка, второй я уже сам додумаю, буду очень признателен.
Решение задачи: «Закрашивание изображения с помощью рекурсии»
textual
Листинг программы
class Program { static void Main() { string[] a={" *** *** ", " * *** * ", " * * ", " * * ", "* *** *", "* * * *", "* * * *", "* * * *", "* * * *", "* * * *", "* *** *", "* *", "***************"}; char[][] b = new char[a.Length][]; for (int y = 0; y < a.Length; y++) b[y] = a[y].ToCharArray(); print(b); Console.WriteLine(); func(b, 8, 2); print(b); Console.ReadKey(); } static void func(char[][] b, int x, int y) { b[y][x] = 'X'; if (b[y - 1][x] == ' ') func(b, x, y - 1); if (b[y][x + 1] == ' ') func(b, x + 1, y); if (b[y + 1][x] == ' ') func(b, x, y + 1); if (b[y][x - 1] == ' ') func(b, x - 1, y); } static void print(char[][] b) { for (int y = 0; y < b.GetLength(0); y++) { for (int x = 0; x < b[y].Length; x++) { Console.Write(b[y][x]); } Console.WriteLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д