Visual Basic. Теория. Нагина Е.К - 67 стр.

UptoLike

Составители: 

67
Ниже приведена программа на языке Visual Basic для решения этой
задачи.
Option Explicit
Option Base 1
' Ввести элементы массива, найти 2 максимальных элемента и удалить
элементы между ними
Dim a() As Long
Dim i, c, j As Integer
Dim M, max, l, k, kol As Integer
Dim sTemplate As String
Private Sub Command1_Click()
List1.Clear
End Sub
Private Sub Command2_Click()
For i = 1 To M
List1.AddItem a(i)
Next i
End Sub
Private Sub Command4_Click()
max = a(1) + a(2): k = 1: l = 1
For i = 1 To M - 1
For j = i + 1 To M
If a(i) + a(j) > max Then max = a(i) + a(j): k = i: l = j
Next j
Next i
If k > l Then c = k: k = l: l = c
kol = l - k - 1
If kol = 0 Then GoTo 20
For i = k + 1 To M - kol
a(i) = a(i + kol)
Next i
M = M - kol
20 End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command7_Click()
If Text1.Text = "" Then GoTo 10
ReDim a(M)
                                          67
     Н иж е приведена про г
                          рамма на язы ке Visual Basic для реш ения это й
задачи.

Option Explicit
Option Base 1
' В вести элементы массива, най ти2 максимальны х элемента и удалить
элементы меж дуними
Dim a() As Long
Dim i, c, j As Integer
Dim M, max, l, k, kol As Integer
Dim sTemplate As String

Private Sub Command1_Click()
List1.Clear
End Sub

Private Sub Command2_Click()
For i = 1 To M
List1.AddItem a(i)
Next i
End Sub

Private Sub Command4_Click()
max = a(1) + a(2): k = 1: l = 1
For i = 1 To M - 1
For j = i + 1 To M
If a(i) + a(j) > max Then max = a(i) + a(j): k = i: l = j
Next j
Next i
If k > l Then c = k: k = l: l = c
kol = l - k - 1
If kol = 0 Then GoTo 20
For i = k + 1 To M - kol
a(i) = a(i + kol)
Next i
M = M - kol
20 End Sub

Private Sub Command5_Click()
End
End Sub

Private Sub Command7_Click()
If Text1.Text = "" Then GoTo 10
ReDim a(M)