forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   BlitzMax (http://forum.boolean.name/forumdisplay.php?f=104)
-   -   что больше (http://forum.boolean.name/showthread.php?t=8933)

NitE 17.08.2009 21:56

что больше
 
товарищи ! у меня есть 4 совершенно рандомных интегера. как мне узнать какой из них больше ?

Knightmare 17.08.2009 22:00

Ответ: что больше
 
Сравнить?

NitE 17.08.2009 22:02

Ответ: что больше
 
ну так что мне каждый с каждым ifами сравнивать ? нет других способов ?

Knightmare 17.08.2009 22:06

Ответ: что больше
 
А в чем проблема? Как-то так:
Код:

a = Rnd(0, 1000)
b = Rnd(0, 1000)
c = Rnd(0, 1000)
d = Rnd(0, 1000)
e = Max(a, Max(b, Max(c, d)))

Function Max:Int(a:Int, b:Int)
    If a > b Then Return a
    Return b
End Function

Ну то решение в лоб, можно и красивше придумать в зависимости от ситуации.

NitE 17.08.2009 22:21

Ответ: что больше
 
а как узнать a b c или d больше ?
мнеж надо не просто число, а переменную узнать....

Knightmare 17.08.2009 22:28

Ответ: что больше
 
Ээээ... Ну я тебе могу на С++ написать, на БМаксовые указатели сам потом перекладывай =)
Код:

int * MaxPtr(int * a, int * b)
{
    if(*a > *b) return a;
    return b;
}

int  a = Rnd(0, 1000);
int  b = Rnd(0, 1000);
int  c = Rnd(0, 1000);
int  d = Rnd(0, 1000);
int * e = MaxPtr(&a, MaxPtr(&b, MaxPtr(&c, &d)));

В результате - е указывает на максимальную переменную, цель достигнута.

moka 21.08.2009 01:33

Ответ: что больше
 
Код:

Local Count%=4
Local Num#[Count],cI%
For Local i%=0 to Count-1
  Num[i]=Rnd()
  If Num[i]>Num[cI] cI=i
Next

DebugLog Num[cI]

Не имеет значения, колличества сравниваемых переменных..


Часовой пояс GMT +4, время: 02:55.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot