как мое назначение Я пишу программу, которая должна проверять массив символов с помощью функции bool и удалять все символы в массиве, которые возвращают true. Дело в том, что мне не разрешено использовать индексирование (и любые типы int и библиотеки). Я написал код, который меняет мой массив, но он слишком медленный. Буду очень признателен, если кто-нибудь может указать мне на быстрый способ сделать это.C - более быстрый способ смещения массива без использования int
bool filter(char* array, bool(*function)(char))
{
if(array)
{
char *start = array;
while(*(array) != 0)
{
if(function(*array) == false)
{
start++;
array++;
}
else
{
while(*(array) != 0)
{
*(array) = *(array + 1);
array++;
}
*(array) = 0;
tablica = start;
}
}
}
}
Я с нетерпением жду вашего ответа.
Если у меня есть функция Ей, которая возвращает истину для ' e ', тогда вы превратите «steampower» в «st \ 0ampow \ 0r» или еще хуже. Я предполагаю, что ответ должен быть «штамп». Тогда есть факт, что вы, кажется, не используете начало для чего-либо, кроме как назначить таинственную переменную tablica. – woolstar
@GrahamBorland else принадлежит к if внутри цикла. – chuthan20
Отступ плохой, но скобки правильные. –