Удаление столбца из массива. Не получается - VB
Формулировка задачи:
Помогите, пожалуйста, с прогой.
Что-то она за пределы массива выходит.
Вот задание: Удалить все столбцы, в которых встретится нечетный положительный элемент.
Код:
Вот тут какая-то проблемка:
Я уже заколебался, и так, и сяк пробовал, ничего не выходит(
Буду бесконечно благодарен за помощь)
Листинг программы
- Dim a(1 To 50, 1 To 50) As Integer
- Private Sub Command1_Click()
- Picture1.Cls
- Picture2.Cls
- n = Text1
- m = Text2
- imin = Text3
- imax = Text4
- For i = 1 To n
- For j = 1 To m
- a(i, j) = imin + Rnd * (imax - imin)
- Picture1.Print a(i, j),
- Next
- Picture1.Print
- Next
- For j = 1 To m
- For i = 1 To n
- If a(i, j) > 0 Then
- If a(i, j) Mod 2 = 1 Then
- g = j
- i = 1
- Do While i <= n
- j = m
- Do While j >= g
- z = a(i, j)
- a(i, j) = x
- x = z
- j = j - 1
- Loop
- i = i + 1
- Loop
- Exit For
- m = m - 1
- End If
- End If
- Next
- Next
- For i = 1 To n
- For j = 1 To m
- Picture2.Print a(i, j),
- Next
- Picture2.Print
- Next
- End Sub
Решение задачи: «Удаление столбца из массива. Не получается»
textual
Листинг программы
- Dim a() As Integer
- Private Sub Command1_Click()
- Dim i As Integer, j As Integer, n As Integer, m As Integer, z As Integer, k As Integer, x As Integer
- Picture1.Cls
- Picture2.Cls
- n = Text1
- m = Text2
- imin = Text3
- imax = Text4
- ReDim a(1 To n, 1 To m)
- For i = 1 To n
- For j = 1 To m
- a(i, j) = imin + Rnd * (imax - imin)
- Picture1.Print a(i, j) & vbTab;
- Next
- Picture1.Print
- Next
- m1: For j = 1 To m
- For i = 1 To n
- If a(i, j) > 0 And a(i, j) Mod 2 <> 0 Then
- For x = j To m - 1
- For k = 1 To n
- a(k, x) = a(k, x + 1)
- Next k
- Next x
- m = m - 1
- If m <= 0 Then MsgBox "Во всех столбцах имеются нечетные положительные элементы": Exit Sub
- GoTo m1
- Exit For
- End If
- Next i
- Next j
- ReDim Preserve a(1 To n, 1 To m)
- For i = 1 To n
- For j = 1 To m
- Picture2.Print a(i, j) & vbTab;
- Next
- Picture2.Print
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д