Я столкнулся с такой проблемой Циклический сдвиг массива.
Если быть точнее - мне нужно сдвинуть элементы массива (вправо или влево).
Как это осуществить? Именно на SourcePawn.
Вот для примера мой кусок кода:
- Код: Выделить всё
int i = 0;
while ((i < count) && (element[i][id] == caller)) i++; //находим элеметы массива с места нахождения которых нужно сдвигать (т.к. они будут = 0 или -1).
while (i < count-1) // здесь сдвигаем
{
element[i][id] = element[i+1][id];
i++;
}
Вполне вероятно что мой код с ошибками. Так как я пока не могу сообразить как сделать сдвиг.
Объясню для чего это нужно.
При удалении какой либо ENT (Kill, KillHierarchy), ENT удаляется, но массив выделенный в памяти, остается.
Что бы не было пустого места (=0), я хочу сдвинуть на пустое место остальные элементы, что бы не было этого пустого места.
Я не знаю, возможно что Kill, KillHierarchy делают это внутри своей функции. Но непохоже.