Посчитать количество четвёрок в каждой из которых все элементы разные - VBA
Формулировка задачи:
Дана таблица a[m;n],содержащая числа 0,1,5 или 11.Посчитать количество четвёрок a[i;j],a[i+1;j],a[i;j+1],a[i+1;j+1] в каждой из которых все элементы разные.Напишите код программы.
Решение задачи: «Посчитать количество четвёрок в каждой из которых все элементы разные»
textual
Листинг программы
Sub NumOfDifferentElementQuarters() Dim i As Long, j As Long, n As Long, m As Long, msg As String Dim a() As Long, nums() As Variant, qCnt As Long While m <= 0 m = Val(InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê Г¬Г*òðèöû:")) Wend While n <= 0 n = Val(InputBox("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ Г¬Г*òðèöû:")) Wend Randomize ReDim a(1 To m, 1 To n) As Long nums = Array(0, 1, 5, 11) msg = "ГЊГ*òðèöГ* a(" & m & "," & n & "):" & vbCr For i = 1 To m msg = msg & vbCr For j = 1 To n a(i, j) = nums(Int(Rnd * 4)) msg = msg & a(i, j) & vbTab Next j Next i For i = 1 To m - 1 For j = 1 To n - 1 If a(i, j) + a(i + 1, j) + a(i, j + 1) + a(i + 1, j + 1) = 17 Then qCnt = qCnt + 1 Next j Next i msg = msg & vbCr & vbCr & "×åòâ¸ðîê Г± Г°Г*Г§Г*ûìè ýëåìåГ*ГІГ*ìè: " & qCnt MsgBox msg End Sub