Удалить из массива все элементы, первая цифра которых четная - VB
Формулировка задачи:
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-35,75]. Удалить из него все элементы, первая цифра которых четная.
2. Вставить число К1 после всех элементов, больших заданного числа, а число К2 – перед всеми элементами, кратными трем.
3. Перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].
Помогите разобраться с ошибками
Листинг программы
- Dim a(25) As Integer
- Dim b(25) As Integer
- Dim c(25) As Integer
- Dim d(25) As Integer
- Private Sub Command1_Click()
- n = 25
- Randomize
- k1 = Val(Text2)
- k2 = Val(Text3)
- k = Val(Text4)
- For i = 0 To n - 1
- a(i) = Round(Rnd * 111 - 35)
- b(i) = a(i)
- c(i) = a(i)
- d(i) = a(i)
- List1.AddItem a(i)
- Next i
- i = 0
- Do
- x = Abs(b(i))
- If ((x < 10) And (x Mod 2 = 0)) Or ((x >= 20) And ((x \ 10) Mod 2 = 0)) Then
- For j = i To n - 1
- b(j) = b(j + 1)
- n = n - 1
- Next j
- Else: i = i + 1
- End If
- List2.AddItem b(j)
- Loop While i <= n
- n = 25
- i = 0
- Do
- If c(i) > Val(Text1) Then
- n = n + 1
- For j = n To i + 2 Step -1
- c(j) = c(j - 1)
- c(j + 1) = k1
- i = i + 2
- Next j
- Else: i = i + 1
- End If
- Loop While i <= n
- n = 25
- i = 0
- Do
- If c(i) Mod 3 = 0 Then
- n = n + 1
- For j = n To i + 1 Step -1
- c(j) = c(j - 1)
- c(j) = k2
- i = i + 2
- Next j
- Else: i = i + 1
- End If
- Loop While i <= n
- For i = 0 To n
- list3.AddItem c(i)
- Next i
- n = 25
- For i = 0 To k
- x = d(1)
- For j = 0 To n - 1
- d(j) = d(j + 1)
- d(n) = x
- Next j
- Next i
- For i = 0 To n
- list4.AddItem d(i)
- Next i
- End Sub
Решение задачи: «Удалить из массива все элементы, первая цифра которых четная»
textual
Листинг программы
- Dim a(24) As Integer
- Dim b() As Integer
- Dim c() As Integer
- Dim d() As Integer
- Dim l() As Integer
- Private Sub Command1_Click()
- Randomize
- List1.Clear
- List2.Clear
- List3.Clear
- List4.clear
- List5.Clear
- chislo = Val(Text3)
- k1 = Val(Text1)
- k2 = Val(Text2)
- k_element = Val(Text4)
- ReDim Preserve l(24)
- ReDim Preserve d(24)
- For i = 0 To 24
- a(i) = Round(Rnd * 110 - 35)
- d(i) = a(i)
- l(i) = a(i)
- List1.AddItem a(i)
- Next i
- For i = 0 To 24
- x = Abs(a(i))
- If ((x < 10) And (x Mod 2 = 0)) Or ((x >= 20) And ((x \ 10) Mod 2 = 0)) Then
- j = j + 1
- ReDim Preserve b(j)
- b(j) = a(i)
- List2.AddItem b(j)
- Else
- g = g + 1
- ReDim Preserve c(g)
- c(g) = a(i)
- List3.AddItem c(g)
- End If
- Next i
- m = 0
- e = 0
- For i = 24 To 0 Step -1
- If a(i) > chislo Then
- m = m + 1
- ReDim Preserve d(24 + m)
- n = UBound(d)
- For j = n To i + 1 Step -1
- d(j) = d(j - 1)
- Next j
- d(i + 1) = k1
- End If
- If Abs(a(i)) Mod 3 = 0 Then
- e = e + 1
- ReDim Preserve d(24 + e)
- s = UBound(d)
- For u = s To i + 1 Step -1
- d(u) = d(u - 1)
- Next u
- d(i) = k2
- End If
- Next i
- For i = 0 To UBound(d)
- List5.AddItem d(i)
- Next i
- s = 0
- ReDim Preserve l(24 + k_element)
- For i = 25 To 24 + k_element
- l(i) = l(s)
- s = s + 1
- Next i
- For i = 0 To 24
- l(i) = l(k_element + i)
- List4.AddItem l(i)
- Next i
- ReDim Preserve l(24)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д