Написать процедуру, которая складывает максимальный и минимальный элементы непустого дерева - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д