qsortのdouble型
Posted: 2012年6月15日(金) 15:23
#include<stdio.h>
#define N 10
#include<stdlib.h>
double_comp(const void*a,const void*b){
return(*(double*)a-*(double*)b);
}
int main(void)
{
double a[N];
int i;
for(i=0;i<N;i++){
a=1.0/(0.1*rand()+1);
}
qsort(a,N,sizeof(double),double_comp);
for(i=0;i<N;i++){
printf("%.12f\n",a);
}
return(0);
}
乱数でデータを発生させて、qsort関数を用いて小さい順に並べ直すプログラムを作成したいのですが、うまくソートされません。
比較関数の書き方を教えていただけると助かります。
#define N 10
#include<stdlib.h>
double_comp(const void*a,const void*b){
return(*(double*)a-*(double*)b);
}
int main(void)
{
double a[N];
int i;
for(i=0;i<N;i++){
a=1.0/(0.1*rand()+1);
}
qsort(a,N,sizeof(double),double_comp);
for(i=0;i<N;i++){
printf("%.12f\n",a);
}
return(0);
}
乱数でデータを発生させて、qsort関数を用いて小さい順に並べ直すプログラムを作成したいのですが、うまくソートされません。
比較関数の書き方を教えていただけると助かります。