Надо красивый алгоритм на получение минимального из 3-х значений - VB
Формулировка задачи:
Всем привет!
Есть три переменные:
По умолчанию, у каждой значение 0.
Иногда, в некоторые попадает значение.
Надо получить минимальное значение, но не 0.
Т.е. проверить первую переменную со второй, та что останется - проверить с третьей.
Куча
Листинг программы
- Dim s1, s2, s3 As Single
Листинг программы
- If s1 < s2 And (s1 <> 0 And s2 <> 0) Then
- If s1 < s3 And s3 <> 0 Then
- Debug.Print s1
- Else
- Debug.Print s2
- End if
- ElseIf s2 < s3 And (s2 <> 0 And s3 <> 0) Then
- Debug.Print s2
- Else
- Debug.Print s3
- End If
IfElse
и тут тогда похоже, что условие не срабатывает, если s1=0 и s2=0. Как все переменные между собой сравнить и взять минимум?Решение задачи: «Надо красивый алгоритм на получение минимального из 3-х значений»
textual
Листинг программы
- Function Compare(Optional ByVal exp1!, Optional ByVal exp2!, Optional ByVal exp3!, Optional r&)
- If r Then Compare = IIf(exp1 > 0 And exp1 < exp2, exp1, IIf(exp2 > 0, exp2, exp1)) Else Compare = Compare(Compare(exp1, exp2, , 1), Compare(exp1, exp3, , 1), Compare(exp2, exp3, , 1), 1)
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д