- Код: Выделить всё
Function Check(a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer)
Нужно определить:
Сколько одинаковых значений имеется и их количество.
Условия:
Значения переменных варьируются от 2 до 12.
Значение 2 принимает вид любого рядом стоящего значения (от 3 до 12).
Значения считать одинаковыми только в том случае если они стоят рядом.
Примеры передачи значений и их вывод:
Запрос: check(2,3,3,4,5)
Ответ: три тройки
Запрос: check(7,3,7,4,4)
Ответ: две четверки
Запрос: check(9,2,3,10,10)
Ответ: две девятки; две тройки; две десятки
Вот что я придумал, помогите доработать
- Код: Выделить всё
Function Check(a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer)
Dim a%, b%, c%, d%, b1%, b2%, b3%, b4%
a = 0: b = 0: c = 0: d = 0
b1 = 0: b2 = 0: b3 = 0: b4 = 0
' a,b,c,d - считаем сколько одинаковых значений
' b1,b2,b3,b4 - считаем какие значения одинаковые
If a1 = a2 Then a = 2: b1 = a1
If a1 = a3 Then If a < 2 Then a = 2: b1 = a1 Else a = a + 1
If a1 = a4 Then If a < 2 Then a = 2: b1 = a1 Else a = a + 1
If a1 = a5 Then If a < 2 Then a = 2: b1 = a1 Else a = a + 1
If a2 <> a1 Then
If a2 = a3 Then b = 2: b2 = a2
If a2 = a4 Then If b < 2 Then b = 2: b2 = a2 Else b = b + 1
If a2 = a5 Then If b < 2 Then b = 2: b2 = a2 Else b = b + 1
End If
If a3 <> a1 And a3 <> a2 Then
If a3 = a4 Then c = 2: b3 = a3
If a3 = a5 Then If c < 2 Then c = 2: b3 = a3 Else c = c + 1
End If
If a4 <> a3 And a4 <> a2 And a4 <> a1 Then
If a4 = a5 Then d = 2: b4 = a4
End If