Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include <math.h>
- #define EPS 1e-6
- enum
- {
- MAX_SIZE = (size_t) 1023
- };
- bool
- equal (const double *a, const double *b)
- {
- return abs(*a - *b) < EPS;
- }
- bool greater(const double *a, const double *b)
- {
- return *a - *b >= EPS;
- }
- int
- comparator (const void *a, const void *b)
- {
- a = (const double *) a;
- b = (const double *) b;
- if (equal(a, b)) {
- return 0;
- }
- if (greater(a, b)) {
- return -1;
- }
- return 1;
- }
- int
- main(void)
- {
- double input_arr[MAX_SIZE], sorted_arr[MAX_SIZE];
- int n;
- scanf("%d", &n);
- for (size_t i = 0; i < (size_t) n; ++i) {
- scanf("%lf", input_arr + i);
- sorted_arr[i] = input_arr[i];
- }
- qsort(sorted_arr, (size_t) n, sizeof(*sorted_arr), comparator);
- for (size_t i = 0; i < (size_t) n; ++i){
- printf("%d %.10g %10.g\n", (int) i + 1, input_arr[i], sorted_arr[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement