Найти номер последнего отрицательного числа массива - VB

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

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

Здравствуйте. Помогите пожалуйста с задачей. Подобных тем много, но к сожалению я не смог разобраться Дан массив целых чисел - A={ai}, где i={1,2...n}. Найти номер последнего отрицательного числа или напечатать "Отрицательных чисел нет!" Например: Если А={2,4,-3,0,5,-2,5} , то результат:6 (число -2) Код, к сожалению, не работает, пожалуйста помогите
Листинг программы
  1. Private Declare Sub Sleep Lib "kernel32" ( _
  2. ByVal dwMilliseconds As Long)
  3. Dim i, l, maxl, max As Integer
  4. Dim Msi() As Integer
  5. Dim A As Integer
  6. Private Sub Command2_Click()
  7. If Text1.Text <> "" Then
  8. Randomize
  9. l = CInt(Text1.Text) - 1
  10. ReDim Msi(l)
  11. For i = 0 To l
  12. Msi(i) = Round(Rnd(1) * 20 - 10, 0)
  13. Next i
  14. Text2.Text = CStr(Msi(0))
  15. maxl = 0
  16. max = Msi(0)
  17. For i = 1 To l
  18. Text2.Text = Text2.Text + ", " + CStr(Msi(i))
  19. Private Sub Command3_Click()
  20. For i=Ubound(A,1) to 1 Step -1
  21. If A(i) < 0 then
  22. Label1.Label= A(i)
  23. Exit Sub
  24. End if
  25. Next i
  26. Debug.Print "Отрицательных чисел нет"
  27. End Sub

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

textual
Листинг программы
  1. Option Explicit
  2. 'Private Declare Sub Sleep Lib "kernel32" ( _
  3.   ByVal dwMilliseconds As Long)
  4. Dim i As Integer, l  As Integer
  5. 'Dim maxl  As Integer, max As Integer
  6. Dim Msi() As Integer
  7. 'Dim A As Integer
  8.  
  9. Private Sub Command2_Click()
  10.     If Text1.Text <> "" Then
  11.         Randomize
  12.         l = CInt(Text1.Text) - 1
  13.         ReDim Msi(l)
  14.         For i = 0 To l
  15.             Msi(i) = Round(Rnd(1) * 20 - 10, 0)
  16.         Next i
  17.         Text2.Text = CStr(Msi(0))
  18.         'maxl = 0
  19.        'max = Msi(0)
  20.        For i = 1 To l
  21.             Text2.Text = Text2.Text + ", " + CStr(Msi(i))
  22.         Next i
  23.     End If
  24. End Sub
  25.  
  26. Private Sub Command3_Click()
  27.   Dim n As Integer
  28.   n = UBound(Msi, 1) + 1
  29.   For i = UBound(Msi, 1) To 0 Step -1
  30.        If Msi(i) < 0 Then
  31.           Label1.Caption = "Hомер последнего отрицательного " & n 'Msi(i)
  32.          Exit Sub
  33.        End If
  34.        n = n - 1
  35.   Next i
  36.   'Debug.Print "Отрицательных чисел нет"
  37.  Label1.Caption = "Отрицательных чисел нет"
  38. End Sub

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


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

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

15   голосов , оценка 4.067 из 5

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

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

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