Массив. Нечетные строки - VB

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

Всем привет. Подскажите, пожалуйста, глупому. Есть условие: -из файла разместить варианты ключей в массиве 30 на 30 -в каждой четной строке, начиная с 20, выбираются три нечетных номера чисел(1,3,5)-в каждой нечетной строке, начиная с 21, выбираются 3 четных номера чисел (2,4,6) и т.д. Я застрял на третьем условии "в каждой нечетной строке, начиная с 21..." Не могу совместить второе и третье условие. Выбираются либо четные либо нечетные с каждой строки, по очереди не получается. Подскажите кто знает, пожалуйста.
'Пропуск первых 20 строк
For i = 1 To 19
Line Input #Filekey, txtKey
Next i
 
'Переменные отвечающие за индексы столбца и строки в таблице
Dim Srows As Integer, Scols As Integer, numkey As Integer
Scols = -1
Srows = 0
numkey = 1
 
j1 = 0
j2 = 0
Do Until EOF(Filekey)
    'Обнуляем от предыдущих
    txtLine = ""
    'Берём по строчке
    Line Input #Filekey, txtLine
    'Переменная счётчик
    j = 1
    j1 = j1 + 1
    j2 = j2 + 1
      If (j1 Mod 2 <> 0) Or (j2 Mod 2 <> 1) Then
    'Проходим по строчке
    Do Until (j >= Len(txtLine))
        'Если текущий символ не пробел или уже не конец строки
        If ((j >= Len(txtLine)) Or (Mid(txtLine, j, 1) <> " ")) Then
            'Пока текущий символ не пробел или не конец строки
            'Обнуляем от предыдущих
            txtKey = ""
            Do Until ((j >= Len(txtLine)) Or (Mid(txtLine, j, 1) = " "))
                'Посимвольное добавление цифр ключа
                txtKey = txtKey & Mid(txtLine, j, 1)
                j = j + 1
            Loop
            'Порядковый номер ключа
            numkey = numkey + 1
          
            'Пропуск чётных
            If (numkey Mod 2 = 0) Then
                'След столбец
                Scols = Scols + 1
               
                'Если конец таблицы, то выход
                If ((Scols >= 30) And (Srows >= 29)) Then
                    Exit Do
                End If
                 
                'Если столбцы закончились, то след строка
                If (Scols = 30) Then
                    Scols = 0: Srows = Srows + 1
                
                End If
             
                'Занесение ключа в таблицу
                MS.TextMatrix(Srows, Scols) = txtKey
            End If
        End If
        j = j + 1
    Loop
    End If
Loop
Если из этого куска что то не понятно, могу выложить весь код с программой.

Код к задаче: «Массив. Нечетные строки - VB»

textual
    For i = 1 To 19
        Line Input #Filekey, txtKey
    Next i
    For i = 0 To 10
        Line Input #Filekey, txtLine
        S = Split(txtLine)
        If i Mod 2 = 0 Then 'чётные строки
            For j = 1 To 5 Step 2 'пробегаем по нечётным столбцам начиная с 1-го
                txtKey = txtKey & S(j)
            Next j
        Else   ' нечётные строки
            For j = 2 To 6 Step 2 'пробегаем по чётным столбцам начиная со 2-го'
                 txtKey = txtKey & S(j)
            Next j
        End If
    Next i

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

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

6   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы