Вывести резульат через 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);

Объяснение кода листинга программы

В представленном коде выполняется сортировка массива по двум критериям: четность и положительность. Список действий:

  1. В функции print_array происходит вывод элементов массива на экран через printf.
  2. В основной части кода создаются два массива: array и arra.
  3. Изначально выводится исходный массив с помощью функции print_array.
  4. Затем вызывается функция partition, которая разделяет массив на две части: четные и нечетные для array и положительные и отрицательные для arra.
  5. Далее, результаты сортировки выводятся на экран с помощью функции print_array. Список переменных:
  6. array - исходный массив.
  7. n - размер массива array.
  8. b и c - массивы, в которые будут помещены четные и нечетные элементы массива array соответственно.
  9. arra - исходный массив.
  10. v - размер массива arra.
  11. l и f - массивы, в которые будут помещены положительные и отрицательные элементы массива arra соответственно.
  12. isOdd и isPositive - функции-предикаты, которые определяют, является ли число четным или положительным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы