Функция разделает исходный массив на две части - C (СИ)
Формулировка задачи:
Функция разделяет исходный массив in длиной n на 2 части и записывает их в массивы b и c , так чтобы для каждого элемента b функция f возвращает true , а для элементов c -false . Функция возвращает количество элементов , записанных в b.
Int blabla( int *in, int *b , int*c , int n , bool (*f) ( int a ));
Решение задачи: «Функция разделает исходный массив на две части»
textual
Листинг программы
if(f(in[n]))
{
*b = in[n];
++b;
}
else
{
*c = in[n];
++c;
}
Объяснение кода листинга программы
В представленном коде выполняется следующая последовательность действий:
- Проверяется значение функции
f(in[n]). - Если результат проверки равен
true, то значениеin[n]присваивается переменной*bи указательbувеличивается на единицу. - Если результат проверки равен
false, то значениеin[n]присваивается переменной*cи указательcувеличивается на единицу.