Найти сумму элементов массива между первым и вторым отрицательными элементами - VB

Узнай цену своей работы

Формулировка задачи:

Дан одномерный массив. Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Сформировать из этих элементов новый массив (вывести в ListBox2 элементы между первым и вторым отрицательным элементами) Нужно написать только саму процедуру Public Sub calc(ByRef x() As Single) Dim If x(i) < 0 Then ???? End Sub Прошу помощи

Решение задачи: «Найти сумму элементов массива между первым и вторым отрицательными элементами»

textual
Листинг программы
  1. Option Explicit On
  2. Imports System.Math
  3. Public Class Form1
  4.     Dim x() As Single
  5.     'Процедура вывода массива  
  6.     Public Sub PrintL(ByRef x() As Single, ByRef LB As ListBox)
  7.         Dim i As Integer
  8.         Dim y As String = " "
  9.         For i = 0 To UBound(x)
  10.             y = y + Format(x(i), "0.00") + Space(4)
  11.         Next i
  12.         LB.Items.Add(y)
  13.     End Sub
  14.     'Процедура ввода массива (генератор случайных чисел)
  15.     Sub vvod(ByRef x() As Single, ByVal index As Integer)
  16.         Dim y, r As String
  17.         Dim i As Integer
  18.         For i = 0 To UBound(x)
  19.             x(i) = Int((9 - (-3) +1) * Rnd() + (-3))
  20.         Next i
  21.     End Sub
  22.  
  23.     Public Sub calc2(ByRef x() As Single)
  24.         Dim k, l, n As Integer
  25.         Dim First As Boolean, second As Boolean
  26.         Dim sum As Single
  27.         k = 0 : l = 0
  28.         First = False : second = False
  29.         For i = 1 To n
  30.             If x(i) < 0 And First = False Then
  31.                 k = i ' K - первый отрицательный элемент
  32.                 First = True
  33.             ElseIf x(i) < 0 And second = False Then
  34.                 l = i ' l - второй отрицатиельный
  35.                 second = True
  36.             End If
  37.         Next i
  38.  
  39.         If l - k <= 1 Then Exit Sub
  40.         For i = k + 1 To l - 1
  41.             PrintL(x, ListBox2)
  42.         Next i
  43.     End Sub
  44.  
  45.     Private Sub Button1_Click(ByVal sender As System.Object, _
  46.             ByVal e As System.EventArgs) Handles Button1.Click
  47.         Dim index, n As Integer
  48.         ListBox1.Items.Clear() 'очищаем listbox1
  49.         ListBox2.Items.Clear() 'очищаем lixtbox2
  50.         n = Val(TextBox1.Text) - 1 'кол=во эл-тов массива
  51.         ReDim x(n)
  52.         vvod(x, index) 'ввод массива
  53.         PrintL(x, ListBox1) 'выводисходного массива
  54.         calc2(x) 'вызов процедуры
  55.     End Sub
  56.  
  57.     Private Sub Button2_Click(ByVal sender As System.Object, _
  58.             ByVal e As System.EventArgs) Handles Button2.Click
  59.         End
  60.     End Sub
  61. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы