Найти сумму отрицательных элементов массива - VB (170146)
Формулировка задачи:
Вот сама задача: Дан массив А из 20 элементов. Найти сумму отрицательных элементов массива.
Решение задачи: «Найти сумму отрицательных элементов массива»
textual
Листинг программы
Option Explicit Const r = 90, max = 20 Dim WithEvents tx As TextBox, WithEvents cb As CommandButton Dim l&, t&, w&, h&, i&, v Dim Массив(1 To max) As Long, Счётчик As Long Sub Calculate() Заполняем_массив Счётчик = 0 For i = 1 To UBound(Массив) If Массив(i) < 0 Then Счётчик = Счётчик + Массив(i) Next Controls("lb2").Caption = "Сумма = " & Счётчик End Sub Private Sub Заполняем_массив() For i = 1 To max Массив(i) = Controls("tx" & i) Next End Sub Private Sub Form_Activate() Set tx = Controls("tx1"): tx.SetFocus End Sub Private Sub cb_Click() Select Case Left(cb.Caption, 1) Case "С": Call Gen Case "В": Call Calculate End Select End Sub Private Sub tx_Change() If Not IsNumeric(tx) Then: tx = 0: tx.SelLength = 100: Else tx = CDbl(tx) End Sub Sub Gen() Randomize Timer For Each v In Controls If bTbx(v) Then v.Text = Fix(Rnd * 100) - 50 End If Next Controls("lb2").Caption = "" End Sub Private Sub Form_Load() Caption = "Найти сумму отрицательных элементов массива" l = r: t = r: w = r * 5: h = w With Controls.Add("vb.Label", "lb1") .AutoSize = 1 .Caption = "В поля вводятся только числа" .Move l, t: t = t + h + r .Visible = 1 End With For i = 1 To max Set tx = Controls.Add("vb.TextBox", "tx" & i): With tx .Move l, t, w, h: l = l + w .Visible = 1: .Font.Bold = 1 End With Next l = r: t = t + h + r: w = r * 15 For Each v In Array("Сгенерировать", "Вычислить") Set cb = Controls.Add("vb.CommandButton", "cb" & i): With cb .Move l, t, w, h: l = l + w + r: i = i + 1 .Caption = v .Visible = 1 End With Next With Controls.Add("vb.Label", "lb2") .AutoSize = 1 l = r: t = t + h + r .Move l, t .Visible = 1: .Font.Bold = 1 End With Me.WindowState = 2 Call Gen End Sub Sub LostFocus() Select Case Left(TypeName(ActiveControl), 1) Case "T": Set tx = ActiveControl Case "C": Set cb = ActiveControl End Select End Sub Private Sub tx_LostFocus(): LostFocus: End Sub Private Sub cb_LostFocus(): LostFocus: End Sub Function bTbx(v) As Boolean: bTbx = (TypeName(v) = "TextBox"): End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д