Кибор
»
Кибор - Интегрированная среда разработки ботов
»
Вопросы и решение проблем
»
Как очистить массив?
Страниц
(1):
[1]
1.
Twincode
- 06 Ноября, 2018 - 17:03:10 -
перейти к сообщению
Здравствуйте, подскажите как правильно очистить массив для повторного использования в коде.
Сейчас очищаю вручную,
Цитата:
int a[2];
...код...
a[0] = 0;
a[1] = 0;
...код...
Понимаю, что можно циклом, но может есть ещё более простой способ?
2.
Kibor
- 06 Ноября, 2018 - 17:15:15 -
перейти к сообщению
Спец функции для иницианизирования переменных массива нет.
3.
Zireael
- 06 Ноября, 2018 - 18:50:16 -
перейти к сообщению
https://drive.google.com/open?id...1sTpsAjOqunqD5Fr
Скачать dll, положить рядом с kibor.exe.
CODE:
// dll положить рядом с kibor.exe
external(VOID, "init", "init", pathfolder()+"init.dll");
int a[10];
init(address(#a[0]), sizearray(a), 0); // инициализировать массив единицами
messagebox(a[8]);
int b[800][600]; // массив 800*600
init(address(#b[0][0]), sizearray(b)*sizearray(b[]), 255); // инициализировать двухмерный массив числом 255
visualwindow(0, 0, 0, sizearray(b), sizearray(b[]), 100, 100, 100, #b[0][0]);
sleep(3000);
update(-1);
4.
Dantes3000
- 06 Ноября, 2018 - 19:33:40 -
перейти к сообщению
CODE:
int b[10];
b[1]=1;
b[2]=1111;
b[3]=2;
b[5]=21;
b[7]=31;
messagebox(format(b[1])+" "+format(b[4])+" "+format(b[3]));
clear_array(#b[0]);
messagebox(format(b[1])+" "+format(b[4])+" "+format(b[3]));
function clear_array(int #s)
{
for(int k=0; k<sizearray(b); k++) s[k]=0;
}
Только для каждой переменной надо свою функцию делать. Вот перекочевал бы из с++ в Кибор такой функционал как auto, было бы другое дело.
5.
Zireael
- 07 Ноября, 2018 - 02:39:29 -
перейти к сообщению
Цитата:
Только для каждой переменной надо свою функцию делать.
Зачем?
CODE:
int b[10];
b[1]=1;
b[2]=1111;
b[3]=2;
b[5]=21;
b[7]=31;
messagebox(format(b[1])+" "+format(b[4])+" "+format(b[3]));
clear_array(#b[0], sizearray(b)); // передаём указатель на массив и размер массива
messagebox(format(b[1])+" "+format(b[4])+" "+format(b[3]));
function clear_array(int #s, int size_s)
{
for(int k=0; k<size_s; k++) s[k]=0;
}
Если кто-то не понял, то длл нужна если массив большой.
6.
Dantes3000
- 07 Ноября, 2018 - 04:16:01 -
перейти к сообщению
Zireael пишет:
Зачем?
Ну...может и незачем
но auto нужен всё равно.
Powered by
ExBB FM 1.0 Final