Hello
I don't know why this code doesn't work. I tried everything. Can you help me, please? *puppy face*
Code:
#include <stdio.h>
#include <stdlib.h>
#define COMPARE(a, b) (((a) > (b)) - ((a) < (b)))
int compare (const void *a, const void *b)
{
float fa = *(const float*) a;
float fb = *(const float*) b;
return (fa > fb) - (fa < fb);
}
int main()
{
float *v, price;
int i=0, n=32;
v=malloc(n*sizeof(float));
while(scanf("%f",&price)!='*')
{
if(++i==n)
{
n+=32;
v=realloc(v,n*sizeof(float));
}
v[i]=price;
}
n=i;
qsort(v, 10, sizeof(float), compare);
for(i=0;i<n;i++)
printf("%f",v[i]);
free(v);
return 0;
}