#include <stdio.h>
#include <stdlib.h>
void print(int arr[], int len) {
for (int i = 0; i < len; i++)
printf("%i ", arr[i]);
printf("\n");
}
int compare_function(const void *a, const void *b) {
return ( *(int*)a - *(int*)b );
}
void make_odds_negative(int arr[], int len) {
for (int i = 0 ; i < len ; i++)
if (arr[i] % 2 != 0)
arr[i] *= -1;
}
void odd_even_sort(int arr[], int len) {
make_odds_negative(arr, len);
print(arr, len);
qsort(arr, len, sizeof(int), compare_function);
print(arr, len);
make_odds_negative(arr, len);
}
int main()
{
int arr[] = {3, 4, 6, 1, 2, 5};
int len = sizeof(arr)/sizeof(int);
odd_even_sort(arr, len);
print(arr, len);
return 0;
}
/*
run:
-3 4 6 -1 2 -5
-5 -3 -1 2 4 6
5 3 1 2 4 6
*/