Advertisement
berinkaq

Untitled

Feb 24th, 2021
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void swap_double(double *a, double *b) {
  4.     double t = *a;
  5.     *a = *b;
  6.     *b = t;
  7. }
  8.  
  9. void rearrange(double *arr, int n) {
  10.     int j = 0;
  11.     for (int i = 0; i < n; ++i) {
  12.         if (arr[i] < 0.000001 ) {
  13.             if (i != j)
  14.                 swap_double(&arr[i], &arr[j]);
  15.             ++j;
  16.         }
  17.     }
  18. }
  19.  
  20. int main(void)
  21. {
  22.     double arr[] = { -1/6.0, 2/6.0, -3/6.0, 4/3.0, 5/3.0, 6/3.0, -7/3.0, 8/3.0, 9/3.0 };
  23.     int n = sizeof(arr) / sizeof(arr[0]);
  24.     for (int i = 0; i < n; ++i)
  25.         printf("%.6lf ", arr[i]);
  26.     printf("\n");
  27.     rearrange(arr, n);
  28.     for (int i = 0; i < n; ++i)
  29.         printf("%.6lf ", arr[i]);
  30.     printf("\n");
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement