Вывести резульат через 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
- функции-предикаты, которые определяют, является ли число четным или положительным.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д