Třetí bonusový úkol
Odevzdání
Úkol odevzdejte mailem (adresu najdete na webu katedry), s předmětem ZP2 - Bonusový úkol 3, jako přílohu soubor se zdrojovým kódem (a nic dalšího). Odevzdávejte nejpozději 6. 4. ve 23:59.
Body
Za úkol lze získat 4 body.
Zadání
Do následujícího kódu doprogramujte generickou funkci pro třídění a s její pomocí funkce
pro třídění zlomků a short int. (Můžete si doprogramovat libovolné pomocné funkce.)
Je zakázáno použít třídicí funkci ze standardní knihovny.
typedef struct
{
int numerator;
int denominator;
} fraction;
typedef int compare_fn(void *, void*);
int compare_fraction(void *a, void *b)
{
// @TODO: doprogramovat funkci
}
int compare_short(void *a, void *b)
{
// @TODO: doprogramovat funkci
}
void generic_sort(void *array, size_t n, size_t element_size, compare_fn* cmp)
{
// @TODO: doprogramovat funkci, libovolny tridici algoritmus
}
void fractions_sort(fraction *array, size_t n)
{
// @TODO: dodat spravne volani generic_sort
}
void short_sort(short int *array, size_t n)
{
// @TODO: dodat spravne volani generic_sort
}