1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <stdio.h>
#include <stdlib.h>
void print ( double a[][5], int n ) {
int i;
for ( i = 0 ; i < n ; i++ ) {
printf( "%.f %.f %.3E %.3E %.3E \n", a[i][0], a[i][1],a[i][2],a[i][3],a[i][4]);
}
printf("--\n");
}
int compare ( const void *pa, const void *pb ) {
double (*a)[5] = pa;
double (*b)[5] = pb;
if ( a[0][1] < b[0][1] ) return -1;
if ( a[0][1] > b[0][1] ) return +1;
return 0;
}
main() {
double data[][5] = {
{37 , 1 , 8.360E-005 , 5.950E-006 , 3.241E-001},
{9 , 1 , 1.690E-004 , 6.020E-006 , 2.445E-001},
{20 , 1 , 1.640E-004 , 1.360E-005 , 2.645E-001},
{34 , 1 , 2.220E-004 , 7.900E-006 , 3.515E-001},
{49 , 1 , 7.530E-005 , 5.850E-006 , 3.541E-001},
{55 , 1 , 1.410E-004 , 9.590E-006 , 2.436E-003},
};
print( data, 6 );
qsort( data, 6, sizeof data[0], compare );
print( data, 6 );
return 0;
} |
Partager