Вывести резульат через printf - C (СИ)
Формулировка задачи:
помогите пожалуйста, осталось только вывести резульат через printf не могу сделать
исходный код:
#include <ctype.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
int partition (int *in, int *b, int *c, int n, bool (*f) (int a)) {
int i=0;
while(n--){
if(f(in[n]))
{
*b = in[n];
++b;
i++;
}
else
{
*c = in[n];
++c;
}
}
return i ;
}
bool isOdd (int a){
if (a % 2 > 0) return true;
return false;
}
bool isPositive (int a){
if (a > 0) return true ;
return false;
}
int main(){
printf ("Разделяем на четные и нечетные\n");
int array[] = {1, 2, 3, 4, 5};
int n = sizeof(array) / sizeof(*array);
int b[n], c[n];
int k = partition(array, b, c, n, isOdd);
printf("Разделяем на положительные и отрицательные числа\n");
int arra[] = {1, 2, 0, 9, -5, 6};
int v = sizeof(arra) / sizeof(*arra);
int l[n], f[n];
int m = partition(arra, l, f, n, isPositive);
}Решение задачи: «Вывести резульат через printf»
textual
Листинг программы
void print_array(int* arr, int n)
{
while(n--)
printf("%d ", *arr++);
printf("\n");
}
...
int array[] = {1, 2, 3, 4, 5};
int n = sizeof (array) / sizeof (*array);
int b[n], c[n];
printf("Исходный массив:\n");
print_array(array, n);
printf("Разделяем на четные и нечетные:\n");
int k = partition(array, b, c, n, isOdd);
print_array(b, k);
print_array(c, n - k);
int arra[] = {1, 2, 0, 9, -5, 6};
int v = sizeof (arra) / sizeof (*arra);
int l[v], f[v];
printf("Исходный массив:\n");
print_array(arra, v);
printf("Разделяем на положительные и отрицательные числа:\n");
int m = partition(arra, l, f, v, isPositive);
print_array(l, m);
print_array(f, v - m);
Объяснение кода листинга программы
В представленном коде выполняется сортировка массива по двум критериям: четность и положительность. Список действий:
- В функции
print_arrayпроисходит вывод элементов массива на экран черезprintf. - В основной части кода создаются два массива:
arrayиarra. - Изначально выводится исходный массив с помощью функции
print_array. - Затем вызывается функция
partition, которая разделяет массив на две части: четные и нечетные дляarrayи положительные и отрицательные дляarra. - Далее, результаты сортировки выводятся на экран с помощью функции
print_array. Список переменных: array- исходный массив.n- размер массиваarray.bиc- массивы, в которые будут помещены четные и нечетные элементы массиваarrayсоответственно.arra- исходный массив.v- размер массиваarra.lиf- массивы, в которые будут помещены положительные и отрицательные элементы массиваarraсоответственно.isOddиisPositive- функции-предикаты, которые определяют, является ли число четным или положительным.