Написать процедуру, которая складывает максимальный и минимальный элементы непустого дерева - VB
Формулировка задачи:
Написать процедуру, которая складывает максимальный и минимальный
элементы непустого дерева Т, все элементы которого различны.
Решение задачи: «Написать процедуру, которая складывает максимальный и минимальный элементы непустого дерева»
textual
Листинг программы
Option Explicit Private Function CreateTree(ByVal MaxLevel As Long) As clsTree Dim NumOfChilds As Long, T As clsTree MaxLevel = MaxLevel - 1 If MaxLevel = 0 Then Exit Function NumOfChilds = Int(Rnd * 3) + 1 Set CreateTree = New clsTree CreateTree.Value = Rnd * 100 Do While NumOfChilds Set T = CreateTree(MaxLevel) If Not T Is Nothing Then CreateTree.Childs.Add T NumOfChilds = NumOfChilds - 1 Loop End Function Private Sub DrawTree(Tree As clsTree, Optional ByVal OffsetX As Long, Optional OffsetY As Long) Dim S As String, N As Long, W As Long, H As Long, Y As Long S = CStr(Tree.Value) W = Me.TextWidth(S) H = Me.TextHeight(S) Me.Circle (OffsetX + W / 2, OffsetY + H / 2), H Me.CurrentX = OffsetX: Me.CurrentY = OffsetY: Y = OffsetY Me.Print S If Tree.Childs.Count Then N = Tree.Childs.Count Do While N Me.Line (OffsetX + H / 2 + H, Y + H / 2)-Step(40 - H * 2, OffsetY - Y) DrawTree Tree.Childs(N), OffsetX + 40, OffsetY OffsetY = OffsetY + Me.TextHeight(S) * 2 N = N - 1 Loop End If End Sub Private Sub GetMinMax(Tree As clsTree, Min As Long, Max As Long) Dim N As Long If Tree.Value < Min Then Min = Tree.Value If Tree.Value > Max Then Max = Tree.Value N = Tree.Childs.Count Do While N GetMinMax Tree.Childs(N), Min, Max N = N - 1 Loop End Sub Private Sub Form_Load() Dim T As clsTree, Min As Long, Max As Long Me.Show Randomize Me.ScaleMode = vbPixels Me.AutoRedraw = True Set T = CreateTree(5) DrawTree T, 20, 20 Min = T.Value: Max = T.Value GetMinMax T, Min, Max MsgBox "Минимальный элемент: " & Min & vbNewLine & _ "Максимальный элемент: " & Max & vbNewLine & _ "Сумма: " & Min + Max End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д