Процедуры и функции: Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева - C#

Узнай цену своей работы

Формулировка задачи:

Создать строковое двоичное дерево. Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева. В программе использовать подпрограммы.

Решение задачи: «Процедуры и функции: Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева»

textual
Листинг программы
  1.   class Node
  2.         {
  3.             public String Name { get; set; }
  4.             public Node[] Nodes=new Node[2];
  5.         }
  6.  
  7.       static  String[] init = { "node", "1level", "1level", "2level", "2level", "2level", "2level","3level","3level" }; //init data
  8.       static  int indexInit;
  9.       static  int maxlevel;
  10.       static  Node tree = null; //result tree
  11.  
  12.       static  void FillTree()
  13.         {
  14.             maxlevel = (int)Math.Ceiling(Math.Log((double)init.Length, 2D))+1;//max levels result tree
  15.             int level = 0;
  16.             FillNode(ref tree, ref level);
  17.         }
  18.  
  19.       static void FillNode(ref Node tree, ref int level)
  20.       {
  21.           level++;
  22.           if (indexInit == init.Length) return;
  23.           tree = new Node();
  24.           tree.Name = init[indexInit++];
  25.           if (level < maxlevel)
  26.           {
  27.               for (int i = 0; i < tree.Nodes.Length; i++)
  28.               {
  29.                   FillNode(ref tree.Nodes[i], ref level);
  30.                   level--;
  31.               };
  32.           };
  33.       }
  34.  
  35.       static void GetStrings(Node node, ref String result)
  36.       {
  37.           result += node.Name+" ";
  38.           foreach (Node n in node.Nodes)
  39.               if (n != null)
  40.               {
  41.                   GetStrings(n, ref result);
  42.               }
  43.       }
  44.  
  45.         static void Main(string[] args)
  46.         {
  47.  
  48.             FillTree();
  49.             String str=String.Empty;
  50.             GetStrings(tree,ref str);
  51.             Console.WriteLine(str); //str - result string
  52.             Console.ReadKey();
  53.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы