Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: как получить максимальное число из нескольких?
Flash Zone Forum > Macromedia Flash > ActionScript
Vislouh
 вариант вроде
Код
    maxY =Math.max(yy, yyy, yyyy, yyyy);


не подходит, так как он как то не так считает, похоже на то что плюсует все пременные, а не выбирает наибольшее значение..а мне нужно выбрать самое максимальное. и еще: я точно знаю, что та переменная,в которой записано большее значение, будет равна еще одной, то есть у меня примерно так 

(4,12,4,12) то есть максимальных значений получится двое. это приведет к ошибке? или мне выдаст число 12 таки? тогда каков должен быть синтаксис?
tiHo
Я бы сделал так: занес бы все значения в массив, отсортировал его как числовой, и выбрал бы последний элемент массива (т.к. после сортировки именно он будет максимальным числом). Но я как известно постоянно все усложняю, возможно можно все сделать проще.


Код
var mass:Array = [];

mass[0] = 3.12;

mass[1] = 2.17;

mass[2] = 27;

mass[3] = 4;

mass[4] = 1;

trace("до сортировки:\n" + mass.join("\n"));

mass.sort(Array.NUMERIC);

trace("\nпосле сортировки:\n" + mass.join("\n"));

trace("\nмаксимальное число: " + mass[mass.length - 1]);
MustLive
Vislouh

Тебе нужно самому написать алгоритм нахождения максимального элемента. Например, стандартный алгоритм поиска максимального значения подразумеваем прохождение по всем элементам массива и нахождения среди них максимального.

Код
mass = [3.12, 2.17, 27, 4, 1];
max = 0;
for (i in mass) {
    if (mass[i]>max) max=mass[i];
}
trace(max);

Цитата
занес бы все значения в массив, отсортировал его как числовой, и выбрал бы последний элемент массива

Так тоже можно сделать. Но за счёт сортировки алгоритм будет более ресурсоёмким, чем поиск максимума (за счёт большего количества операций записи в память).
chingachgoog
У двух юристов (врачей, программистов) по одному вопросу всегда три мнения )))
dodoaav
Непонятно, зачем изобретать велосипед. Math.max делает тоже самое
Код
Math.max(4,12,4,12) == 12
Русская версия IP.Board © 2001-2013 IPS, Inc.