Вставить после каждой четной строки Первую строку - VB

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

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

Доброй ночи! Помогите пожалуйста исправить код. Не могу найти ошибку. Он мне первую строку копирует вообще на все строки, но правильно увеличивает массив. Нужно решить именно без дополнительного массива! Код записан в модуле.
В Форме записано вот что

Решение задачи: «Вставить после каждой четной строки Первую строку»

textual
Листинг программы
Option Base 1
Private Sub Command1_Click()
Dim mas() As Integer, i As Integer, j As Integer, m As Integer, n As Integer
Dim m1 As Integer, k As Integer, m2 As Integer
m = Val(InputBox("Количество строк (2-10)"))
n = Val(InputBox("Количество столбцов (2-10)"))
If m < 2 Or m > 10 Or n < 2 Or n > 10 Then
    MsgBox "Неверные значения!", 0, ""
    Exit Sub
End If
m1 = m + Int(m / 2)
ReDim mas(m1, n)
Cls
Print "Исходный массив:"
For i = 1 To m
    For j = 1 To n
        mas(i, j) = 100 * Rnd()
        Print mas(i, j),
    Next j
    Print
Next i
Print
Print "Результирующий массив:"
m2 = m
For i = m To 2 Step -1
    If i Mod 2 = 0 Then
        m2 = m2 + 1
        If i <> m Then
            For k = m2 To i + 2 Step -1
                For j = 1 To n
                    mas(k, j) = mas(k - 1, j)
                Next j
            Next k
        End If
        For j = 1 To n
            mas(i + 1, j) = mas(1, j)
        Next j
    End If
Next i
For i = 1 To m1
    For j = 1 To n
        Print mas(i, j),
    Next j
    Print
Next i
End Sub

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

15   голосов , оценка 4.2 из 5
Похожие ответы