tions.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.IO;//ФайлиSystem.Text.RegularExpressions;// Регулярні вираженіяКурсовая_работа
{partial class Form1: Form
{Form1 ()
{();
} StreamReader Read; string Path; int k=0; lt; Sportsman gt; ekz=null;// Примірник дереваNode lt; T gt; where T: IComparable//Дерево
{T Value; Node lt; T gt; Left=null; Node lt; T gt; Right=null; Node lt; T gt; Parent=null; Node (T Value)//Конструктор
{. Value=Value;
} void Add (T Value)//Додавання
{
{(this.Value == null)//Якщо корінь порожній
{. Value=Value;
}
{ lt; T gt; Data=this; Stop=false; (! Stop)
{((Data.Value as Sportsman) .CompareTo ((Value as Sportsman)) == 0)//Однакові
{( Неможливо додати 2 однакових елемента в дерево );
} ((Data.Value as Sportsman) .CompareTo ((Value as Sportsman)) == 1)//Менше Вузла
{(Data.Left == null)//Якщо лівий син Вузла порожній
{. Left=new Node lt; T gt; (Value);// Новий вузол
Data.Left.Parent=Data;// Відзначаємо його батька=true;// Зупинитися
}//Значить робимо поточним (Data) - лівого сина (Data.Left)
{-;// Зробити поточним лівого сина
}
} if ((Data.Value as Sportsman) .CompareTo ((Value as Sportsman)) == - 1)//Більше
{(Data.Right == null)//Якщо правий син Вузла порожній
{. Right=new Node lt; T gt; (Value);// Новий вузол
Data.Right.Parent=Data;// Відзначаємо його батька=true;// Зупинитися
}//Значить робимо поточним (Data) - правого сина (Data.Right)
{++;// Зробити поточним правого сина
}
}
}//While (stop)
}//else (Якщо Кореня немає)
} (Exceptionerror)
{++;.Show(error.Message+laquo;"raquo;+(ValueasSportsman).FIO_OutPut+laquo;"nНажмите ОК щоб продовжити , Помилка організації дерева raquo ;, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}//Addstatic TreeNode [] Coloor=null; void Find_v1 (string Search, DataGridView Table, TreeView Tree)//Пошук елемента в дереві
{(Find_v2 (Search)!=null)
{ lt; T gt; Data=Find_v2 (Search); i=0; Stop=false; (Table.Rows.Count gt; i)
{(Table.Rows [i] .DefaultCellStyle.BackColor == Color.Red)
{. Rows [i] .DefaultCellStyle.BackColor=Color.White ;;
}
{++;
}
} (Coloor!=null)
{. SelectedNode=Coloor [0] ;. SelectedNode.BackColor=Color.White;
}=0; (Stop!=true)
{(Table [0, i] .Value.ToString () == Search)
{. Rows [i] .DefaultCellStyle.BackColor=Color.Red; [] Find=Tree.Nodes.Find (Search, true);=Find; .SelectedNode=Find [0] ;. SelectedNode.BackColor=Color.Red;=true;
}
{++;
}
}. Show ( Знайдений елемент представлений червоним кольором. nДля зняття виділення кольором, клікніть лівою кнопкою миші в будь-якому місці рядка raquo ;, Інформація raquo ;, MessageBoxButtons .OK, Message BoxIcon.Information) ;
}
{. Show ( Даного спортсмена не існує raquo ;, Помилка пошуку raquo ;, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} Node lt; T gt; Find_v2 (string Search)//Обхід (пошук) - тільки для: Shfit (заміна) і Delete (видалення)
{
{ lt; Node lt; T gt; gt; Stack=new Stack lt; Node lt; T gt; gt; (); lt; T gt; Data=this; Stop=false;
if (Data!=null)//Якщо корінь не порожній
{. Push (Data); (Stack.Count gt; 0)
{= Stack.Pop (); (Stop!=true)
{((Data.Value as Sportsman) .CompareTo (Search) == 0)
{Data;
} if (Data.Left!=null amp; amp; Data.Right!=null)
{. Push (Data.Right); -;// Зробити поточним лівого сина
} if (Data.Left!=...