Надо красивый алгоритм на получение минимального из 3-х значений - VB

Узнай цену своей работы

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

Всем привет! Есть три переменные:
Листинг программы
  1. Dim s1, s2, s3 As Single
По умолчанию, у каждой значение 0. Иногда, в некоторые попадает значение. Надо получить минимальное значение, но не 0. Т.е. проверить первую переменную со второй, та что останется - проверить с третьей.
Листинг программы
  1. If s1 < s2 And (s1 <> 0 And s2 <> 0) Then
  2. If s1 < s3 And s3 <> 0 Then
  3. Debug.Print s1
  4. Else
  5. Debug.Print s2
  6. End if
  7. ElseIf s2 < s3 And (s2 <> 0 And s3 <> 0) Then
  8. Debug.Print s2
  9. Else
  10. Debug.Print s3
  11. End If
Куча

IfElse

и тут тогда похоже, что условие не срабатывает, если s1=0 и s2=0. Как все переменные между собой сравнить и взять минимум?

Решение задачи: «Надо красивый алгоритм на получение минимального из 3-х значений»

textual
Листинг программы
  1. Function Compare(Optional ByVal exp1!, Optional ByVal exp2!, Optional ByVal exp3!, Optional r&)
  2.     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)
  3. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

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

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

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы