В одномерном массиве найти два максимальных элемента и удалить все элементы между ними - VB

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

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

Есть задача: В одномерном массиве найти два максимальных элемента и удалить все элементы между ними. Массив у меня задается случайным образом, максимальные элементы нахожу, но вот как удалить элементы между ними ума не приложу как только не пробовал, элементы записаны в ЭУ ListBox Задание массива
Листинг программы
  1. Private Sub Задать_Click()
  2. max1 = 0
  3. max2 = 0
  4. If Text1.Text = "" Then GoTo 10
  5. razm1 = CInt(Text1.Text)
  6. ReDim a(razm1) As Long
  7. For i = 1 To razm1
  8. a(i) = Round(Rnd() * 10)
  9. Next i
  10. For i = 1 To razm1
  11. List1.AddItem a(i)
  12. Next i
  13. 10 End Sub
Первый максимум
Листинг программы
  1. Private Sub Max1_Click()
  2. For i = 1 To razm1
  3. If max1 < a(i) Then max1 = a(i) Else
  4. Next i
Второй максимум
Листинг программы
  1. Private Sub Command1_Click()
  2. For i = 1 To razm1
  3. If max2 < a(i) And a(i) < max1 Then max2 = a(i) Else
  4. Next i
  5. End Sub
Подсобите разработать код для удаления элементов массива, находящихся между двумя максимальными

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

textual
Листинг программы
  1. Option Explicit
  2. Dim A()
  3. Dim Max1, MAX2, razm1, i
  4. Dim N, K, N0, K0
  5.  
  6. Private Sub Задать_Click()
  7.  Max1 = 0
  8.  MAX2 = 0
  9.  Randomize
  10.  If Text1.Text = "" Then:    MsgBox "Не задан размер массива", vbCritical, "": Exit Sub
  11.  razm1 = CInt(Text1.Text)
  12.  ReDim A(razm1)
  13.   List1.Clear
  14.  For i = 1 To razm1
  15.  A(i) = Round(Rnd() * 10)
  16.   List1.AddItem A(i)
  17.  Next i
  18.  M1 = "": P1 = ""
  19.  M2 = "": P2 = ""
  20.  End Sub
  21.  
  22. Private Sub Max1__Click()
  23.  For i = 1 To razm1
  24.     If Max1 < A(i) Then
  25.        Max1 = A(i)
  26.        N = i
  27.     End If
  28.  Next i
  29.  M1 = Max1: P1 = N
  30. End Sub
  31.  
  32. Private Sub Max2__Click()
  33.  For i = 1 To razm1
  34.     If MAX2 < A(i) And i <> N Then
  35.         MAX2 = A(i)
  36.         K = i
  37.     End If
  38.  Next i
  39.  
  40. If N > K Then
  41.     N0 = K: K0 = N
  42. Else
  43.     N0 = N: K0 = K
  44. End If
  45. M2 = MAX2: P2 = K
  46. End Sub
  47.  
  48. Private Sub Результат_Click()
  49.   List2.Clear
  50.  For i = 1 To razm1
  51.     If i <= N0 Or i >= K0 Then
  52.         List2.AddItem A(i)
  53.     End If
  54.  Next i
  55. End Sub

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


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

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

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

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

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

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