Большее/меньшее

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Большее/меньшее

Сообщение Yurich » 22.09.2004 (Ср) 23:32

Черт, совсем мозги высохли. Не могу вспомнить ф-ю, что возвращает болшее(меньшее) из двух значений. Плиз ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.09.2004 (Ср) 23:41

Function Max (A, B)
Max = IIf(A > B, A, B)
End Function

Function Min (A, B)
Min = IIf(A < B, A, B)
End Function
Изображение

Samovar
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 23.05.2004 (Вс) 8:13

Сообщение Samovar » 23.09.2004 (Чт) 3:31

Кажется в VB6 нет такой функции. Сделай сам, чтото вроде:

Public Function Max(ParamArray aV() As Variant) As Variant
Dim i As Long
Max = aV(LBound(aV))
For i = LBound(aV) + 1 To UBound(aV)
If Max < aV(i) Then
Max = aV(i)
End If
Next i
End Function

Public Function Min(ParamArray aV() As Variant) As Variant
Dim i As Long
Min = aV(LBound(aV))
For i = LBound(aV) + 1 To UBound(aV)
If Min > aV(i) Then
Min = aV(i)
End If
Next i
End Function
Ученье - свет, неученых - тьма.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 23.09.2004 (Чт) 8:09

Сделай сам, чтото вроде:


И это для двух значений (как в первом вопросе)?

Не проще ли нечто навроде:

IIf( a > b, a, b )
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.09.2004 (Чт) 9:47

Andrey Fedorov писал(а):
Сделай сам, чтото вроде:


И это для двух значений (как в первом вопросе)?

Не проще ли нечто навроде:

IIf( a > b, a, b )

Особенно если учитывать, что я это уже написал ;-)
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 23.09.2004 (Чт) 9:49

Особенно если учитывать, что я это уже написал


Угу ;)
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 23.09.2004 (Чт) 15:14

Спасибо, понял почему не могу вспонить! Такая ф-я была в PowerBasic, на котором раньше работал.

If a > b Then b = a
If c > b Then b = c

тут одно присваивание кажется лишним, подкиньте идеи, как написать "прозрачнее"?

kazah_
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 13.01.2003 (Пн) 18:37
Откуда: Russia

Сообщение kazah_ » 23.09.2004 (Чт) 16:02

Yurich писал(а):Спасибо, понял почему не могу вспонить! Такая ф-я была в PowerBasic, на котором раньше работал.

If a > b Then b = a
If c > b Then b = c


тут одно присваивание кажется лишним, подкиньте идеи, как написать "прозрачнее"?


if a>b then
if c>b then b=c
else
a=b
end if


тут по любому нада будет два присваивания и два условия
массивом можно решать еще
Mr DEN - THE WAY YOU KNOW / Мр. ДЕН - Ваш Путь к Познанию!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList