Найти номера строк, все элементы которых четны - VB
Формулировка задачи:
Дан двумерный квадратный массив. Найти номера строк, все элементы которых четны. Используйте подпрограммы для решения каждой частной задачи.
Решение задачи: «Найти номера строк, все элементы которых четны»
textual
Листинг программы
Option Explicit
Dim A() As Integer, n As Integer, m As Integer
Dim strArray(), tmpArray(), Resultat As String
Private Sub Command1_Click()
FillArray
PrintArray
FindEvenStringArray
Print Resultat
End Sub
Private Sub FillArray() 'Процедура заполнения массива
Dim i As Integer, j As Integer
Randomize 'Иницилизация генератора случайных чисел
Me.Cls 'Очищаем форму
m = InputBox("Введите число строк", , 20)
n = InputBox("Введите число столбцов", , 3)
ReDim A(1 To m, 1 To n) ' Размеры матрицы А - m-строк, n-столбцов
ReDim strArray(1 To m), tmpArray(1 To n)
For i = 1 To m
For j = 1 To n
A(i, j) = Int(Rnd * 101) 'Заполняем матрицу случайными числами
tmpArray(j) = A(i, j)
Next j
strArray(i) = tmpArray ' strArray- массив строк матрицы А
Next i
End Sub
Private Sub PrintArray() 'Процедура вывода матрицы на печать
Dim i As Integer, j As Integer
Print
For i = 1 To m
For j = 1 To n
Print A(i, j); vbTab;
Next j
Print
Next i
Print
End Sub
Private Sub FindEvenStringArray()
Dim i As Integer
Resultat = "Чётные строки матрицы : "
For i = 1 To m
tmpArray = strArray(i)
If EvenStringArray(tmpArray, n) Then Resultat = Resultat & i & " "
Next i
End Sub
Private Function EvenStringArray(ByRef Arr(), ByVal kolStolb As Integer) As Boolean 'Функция поиска чётныx строк массива
'Функция возвращает False,если хотя бы один элемент в передаваемом ей в качестве
'аргумента массиве - нечётный
Dim i As Integer
EvenStringArray = True
For i = 1 To kolStolb
If Arr(i) Mod 2 <> 0 Then EvenStringArray = False
Next i
End Function