https://drive.google.com/open?id...9VpqHDrAolmEvboM
Скачать dll и закинуть в папку с kibor.exe.
Доступные функции:
Random - получение рандомного числа. От -2147483648 до 2147483647.
HexToDec - преобразует шестнадцатеричное значение в десятичное.
DecToHex - преобразует десятичное значение в шестнадцатеричное.
Min - поиск минимального числа в одномерном массиве.
Max - поиск максимального числа в одномерном массиве.
Mean - среднее арифметическое одномерного массива.
Sort - сортировка двухмерного массива int по указанному столбцу.
Синтаксис:
Random(<минимальное значение>, <максимальное значение> )
HexToDec(<шестнадцатеричное значение> )
DecToHex(<десятичное значение>, <адрес массива, принимающего результат>, <размер массива> )
Min(<адрес массива>, <размер массива> )
Max(<адрес массива>, <размер массива> )
Mean(<адрес массива>, <размер массива> )
Sort(<адрес массива>, <количество строк в массиве>, <количество столбцов в массиве>, <по какому столбцу сортировать> )
Примеры:
Получить рандомное число (Отобразить)CODE:external(INT, "Random", "Random", pathfolder()+"\math.dll" );
int r=Random(1000000, 5000000);
messagebox(r);
Перевести число из шестнадцатеричного в десятичное (Отобразить)CODE:external(INT, "HexToDec", "HexToDec", pathfolder()+"\math.dll" );
int x=HexToDec("FFFFFF");
messagebox(x);
x=HexToDec("0xFF");
messagebox(x);
Перевести число из десятичного в шестнадцатеричное (Отобразить)CODE:external(INT, "DecToHex", "DecToHex", pathfolder()+"\math.dll" );
char c[10];
int x=DecToHex(255, address(#c[0]), sizearray(c));
if(x>0)messagebox(format(#c[0]));
Найти минимальное и максимальное значение в массиве int, и среднее арифметическое массива (Отобразить)CODE:external(INT, "Min", "Min", pathfolder()+"\math.dll" );
external(INT, "Max", "Max", pathfolder()+"\math.dll" );
external(INT, "Mean", "Mean", pathfolder()+"\math.dll" );
int a[5]; // массив на 5 элементов
a[0]=20;
a[1]=10;
a[2]=60;
a[3]=50;
a[4]=30;
int minx, maxx, meanx;
minx=Min(address(#a[0]), sizearray(a));
messagebox("Минимальное значение: "+format(minx));
maxx=Max(address(#a[0]), sizearray(a));
messagebox("Максимальное значение: "+format(maxx));
meanx=Mean(address(#a[0]), sizearray(a));
messagebox("Среднее арифметическое массива: "+format(meanx));
Сортировка двухмерного массива int (Отобразить)CODE:external(INT, "Sort", "Sort", pathfolder()+"\math.dll" );
int a[4][3]; // массив 4*3
a[0][0]=30; a[0][1]=40; a[0][2]=70;
a[1][0]=20; a[1][1]=50; a[1][2]=80;
a[2][0]=10; a[2][1]=60; a[2][2]=90;
a[3][0]=15; a[3][1]=80; a[3][2]=40;
// вывод массива в textout
string tmp;
int textoutY=300, textout_num=0, i, j;
textbkcolor(16777215, 255);
textout(textout_num, 500, textoutY, "До сортировки:", 1); textout_num++; textoutY=textoutY+20;
for (i=0; i<sizearray(a); i++)
{
tmp="";
for (j=0; j<sizearray(a[]); j++)tmp=tmp+format(a[i][j])+" ";
textout(textout_num, 500, textoutY, tmp, 1);
textoutY=textoutY+20; textout_num++;
}
Sort(address(#a[0][0]), sizearray(a), sizearray(a[]), 0); // сортировка по первому столбцу (нумерация начинается с 0)
textbkcolor(255, 65280);
textout(textout_num, 500, textoutY, "После сортировки:", 1); textout_num++; textoutY=textoutY+20;
for (i=0; i<sizearray(a); i++)
{
tmp="";
for (j=0; j<sizearray(a[]); j++)tmp=tmp+format(a[i][j])+" ";
textout(textout_num, 500, textoutY, tmp, 1);
textoutY=textoutY+20; textout_num++;
}
loop()sleep(1000);