Heej! Ktoś pomoże ogarnąć mediane a w szczególności funkcje qsort, jak ma wyglądać.. Mam taki kod -
#include <stdlib.h>
#include <time.h>
double mediana(double* tab, int n) {
qsort(tab, tab + n);
if (n % 2 == 0) {
return (tab[n / 2 - 1] + tab[n / 2]) / 2;
} else {
return tab[(n - 1) / 2];
}
}
int main()
{
int n;
int size;
printf("Podaj rozmiar tablicy:\n");
scanf("%d", &size);
int *tab = (int*)malloc(sizeof(unsigned int) * size);
srand(time(NULL));
for (int i = 0; i < size; i++) tab[i] = rand() % 30;
for (int i = 0; i < size; i++) printf("%d ", tab[i]);
printf("\n");
for (int i = 0; i < n; i++)
scanf("%d", &tab[i]);
printf( "Mediana wynosi: " , mediana(tab, n) );
free(tab);
return 0;
} ```