Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Функция sort() бредит

Страниц (1): [1]
 

1. Eddi - 03 Декабря, 2016 - 06:07:43 - перейти к сообщению
CODE:
RGBtoHSL(216,124,56);
function RGBtoHSL(int r, int g, int b)
{
string min="";
string max="";
int mass[3];
mass[1]=r;
mass[2]=g;
mass[3]=b;
int h;
int s;
int l;
messagebox(format(mass[1])+" "+format(mass[2])+" "+format(mass[3]));
sort(#mass[0],3);
messagebox(format(mass[1])+" "+format(mass[2])+" "+format(mass[3]));
if (mass[1]==r){min='r';messagebox("min r");}
if (mass[1]==g){min='g';messagebox("min g");}
if (mass[1]==b){min='b';messagebox("min b");}
if (mass[3]==r){max='r';messagebox("max r");}
if (mass[3]==g){max='g';messagebox("max g");}
if (mass[3]==b){max='b';messagebox("max b");}

if (mass[1]==mass[3])h=0;
if ((max=="r")&&(g>=b))h=60*((g-b)/(mass[3]-mass[1]));
if ((max=="r")&&(g<b))h=(60*((g-b)/(mass[3]-mass[1])))+360;
if (max=="g")h=(60*((b-r)/(mass[3]-mass[1])))+120;
if (max=="b")h=(60*((r-g)/(mass[3]-mass[1])))+240;
messagebox(format(h));
}

Функция sort(#mass[0],3) вместо порядка 56, 124, 216, выдает 124, 216, 56... В чем может быть причина и как исправить?
2. Kibor - 03 Декабря, 2016 - 10:08:56 - перейти к сообщению
Это не sort бредит, а не знание понятия массива и где он начинается и заканчивается.

 Цитата:
RGBtoHSL(216,124,56);
function RGBtoHSL(int r, int g, int b)
{
int mass[3];
mass[0]=r;
mass[1]=g;
mass[2]=b;
sort(#mass[0],3);
messagebox(format(mass[0])+" "+format(mass[1])+" "+format(mass[2]));
}

Powered by ExBB FM 1.0 Final