Mediana!

0

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;
} ```
1

No bo skopiowałeś kod z c++ gdzie miałeś sort i tam tak się to wywołuje.
Zobacz sobie jak tutaj zrobili z qsortem: https://www.tutorialspoint.com/c_standard_library/c_function_qsort.htm

1 użytkowników online, w tym zalogowanych: 0, gości: 1