2сем.1РК.Все варианты
.docxLst.Items.Clear()
For i = 0 To n
S = Spisoktreug(i).Строка()
Lst.Items.Add(S)
Next i
End Sub
Public Sub СортировкаПовозрастанию(ByVal n As SByte, ByRef Spisoktreug() As Треугольник)
Dim i As Integer
Dim izm As Integer
Dim buf As Треугольник
Do
izm = 0
For i = 0 To n - 1
If Spisoktreug(i).Площадь > Spisoktreug(i + 1).Площадь Then
buf = Spisoktreug(i)
Spisoktreug(i) = Spisoktreug(i + 1)
Spisoktreug(i + 1) = buf
izm = 1
End If
Next
Loop Until izm = 0
End Sub
Public Function МаксимальнаяПлощадь(ByVal n As SByte, ByVal Spisoktreug() As Треугольник) As Integer
Dim i As Integer
Dim max As Integer
Dim kol As Integer
kol = 0
max = Spisoktreug(0).Площадь
For i = 0 To n
If Spisoktreug(i).Площадь > max Then
max = Spisoktreug(i).Площадь
End If
Next
For i = 0 To n
If Spisoktreug(i).Площадь = max Then
kol = kol + 1
End If
Next
МаксимальнаяПлощадь = kol
End Function
Public Sub НовыйМассив(ByVal n As SByte, ByRef k As SByte, ByVal Spisoktreug() As Треугольник, ByRef NovyiSpisok() As Треугольник, ByVal ZadannayaPlochad As Integer)
Dim i As Integer
k = -1
For i = 0 To n
If Spisoktreug(i).Площадь > ZadannayaPlochad Then
k = k + 1
ReDim Preserve NovyiSpisok(k)
NovyiSpisok(k) = Spisoktreug(i)
End If
Next i
End Sub
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SpisokTreug() As Треугольник
Dim n As SByte
Dim k As SByte
Dim NovyiSpisokTreug() As Треугольник
Dim SZadannaya As Integer
Dim Kol As Integer
ВводМассиваТруегольников(n, SpisokTreug)
ВыводМассива(n, SpisokTreug, Lst1)
Kol = МаксимальнаяПлощадь(n, SpisokTreug)
MsgBox(Kol)
СортировкаПовозрастанию(n, SpisokTreug)
ВыводМассива(n, SpisokTreug, Lst2)
SZadannaya = Val(InputBox("Введите задаваемую площадь"))
НовыйМассив(n, k, SpisokTreug, NovyiSpisokTreug, SZadannaya)
ВыводМассива(k, NovyiSpisokTreug, Form2.Lst3)
Form2.Show()
End Sub
End Class