Удалить из массива все элементы, первая цифра которых четная - VB

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

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

1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-35,75]. Удалить из него все элементы, первая цифра которых четная. 2. Вставить число К1 после всех элементов, больших заданного числа, а число К2 – перед всеми элементами, кратными трем. 3. Перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k]. Помогите разобраться с ошибками
Листинг программы
  1. Dim a(25) As Integer
  2. Dim b(25) As Integer
  3. Dim c(25) As Integer
  4. Dim d(25) As Integer
  5. Private Sub Command1_Click()
  6. n = 25
  7. Randomize
  8. k1 = Val(Text2)
  9. k2 = Val(Text3)
  10. k = Val(Text4)
  11. For i = 0 To n - 1
  12. a(i) = Round(Rnd * 111 - 35)
  13. b(i) = a(i)
  14. c(i) = a(i)
  15. d(i) = a(i)
  16. List1.AddItem a(i)
  17. Next i
  18.  
  19. i = 0
  20. Do
  21. x = Abs(b(i))
  22. If ((x < 10) And (x Mod 2 = 0)) Or ((x >= 20) And ((x \ 10) Mod 2 = 0)) Then
  23. For j = i To n - 1
  24. b(j) = b(j + 1)
  25. n = n - 1
  26. Next j
  27. Else: i = i + 1
  28. End If
  29. List2.AddItem b(j)
  30. Loop While i <= n
  31.  
  32. n = 25
  33. i = 0
  34. Do
  35. If c(i) > Val(Text1) Then
  36. n = n + 1
  37. For j = n To i + 2 Step -1
  38. c(j) = c(j - 1)
  39. c(j + 1) = k1
  40. i = i + 2
  41. Next j
  42. Else: i = i + 1
  43. End If
  44. Loop While i <= n
  45.  
  46. n = 25
  47. i = 0
  48. Do
  49. If c(i) Mod 3 = 0 Then
  50. n = n + 1
  51. For j = n To i + 1 Step -1
  52. c(j) = c(j - 1)
  53. c(j) = k2
  54. i = i + 2
  55. Next j
  56. Else: i = i + 1
  57. End If
  58. Loop While i <= n
  59.  
  60. For i = 0 To n
  61. list3.AddItem c(i)
  62. Next i
  63.  
  64. n = 25
  65. For i = 0 To k
  66. x = d(1)
  67. For j = 0 To n - 1
  68. d(j) = d(j + 1)
  69. d(n) = x
  70. Next j
  71. Next i
  72.  
  73. For i = 0 To n
  74. list4.AddItem d(i)
  75. Next i
  76.  
  77. End Sub

Решение задачи: «Удалить из массива все элементы, первая цифра которых четная»

textual
Листинг программы
  1. Dim a(24) As Integer
  2. Dim b() As Integer
  3. Dim c() As Integer
  4. Dim d() As Integer
  5. Dim l() As Integer
  6.  
  7.  
  8.  
  9. Private Sub Command1_Click()
  10. Randomize
  11. List1.Clear
  12. List2.Clear
  13. List3.Clear
  14. List4.clear
  15. List5.Clear
  16. chislo = Val(Text3)
  17. k1 = Val(Text1)
  18. k2 = Val(Text2)
  19. k_element = Val(Text4)
  20. ReDim Preserve l(24)
  21. ReDim Preserve d(24)
  22. For i = 0 To 24
  23. a(i) = Round(Rnd * 110 - 35)
  24. d(i) = a(i)
  25. l(i) = a(i)
  26. List1.AddItem a(i)
  27. Next i
  28. For i = 0 To 24
  29.  x = Abs(a(i))
  30.   If ((x < 10) And (x Mod 2 = 0)) Or ((x >= 20) And ((x \ 10) Mod 2 = 0)) Then
  31.    j = j + 1
  32.    ReDim Preserve b(j)
  33.    b(j) = a(i)
  34.    List2.AddItem b(j)
  35.   Else
  36.   g = g + 1
  37.   ReDim Preserve c(g)
  38.   c(g) = a(i)
  39.   List3.AddItem c(g)
  40.   End If
  41. Next i
  42.  
  43.  
  44.  
  45.  
  46.  
  47. m = 0
  48. e = 0
  49. For i = 24 To 0 Step -1
  50. If a(i) > chislo Then
  51. m = m + 1
  52. ReDim Preserve d(24 + m)
  53. n = UBound(d)
  54. For j = n To i + 1 Step -1
  55. d(j) = d(j - 1)
  56. Next j
  57. d(i + 1) = k1
  58. End If
  59. If Abs(a(i)) Mod 3 = 0 Then
  60. e = e + 1
  61. ReDim Preserve d(24 + e)
  62. s = UBound(d)
  63. For u = s To i + 1 Step -1
  64. d(u) = d(u - 1)
  65. Next u
  66. d(i) = k2
  67. End If
  68. Next i
  69.  
  70. For i = 0 To UBound(d)
  71. List5.AddItem d(i)
  72. Next i
  73.  
  74.  
  75.  
  76.  
  77.  
  78. s = 0
  79. ReDim Preserve l(24 + k_element)
  80. For i = 25 To 24 + k_element
  81. l(i) = l(s)
  82. s = s + 1
  83. Next i
  84. For i = 0 To 24
  85. l(i) = l(k_element + i)
  86. List4.AddItem l(i)
  87. Next i
  88. ReDim Preserve l(24)
  89.  
  90.  
  91.  
  92. End Sub

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


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

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

8   голосов , оценка 4.625 из 5

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

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

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