Advertisement
berinkaq

Untitled

Feb 24th, 2021
679
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void rearrange(double *arr, int n) {
  4.     double key;
  5.     for (int i = 1, j = 0; i < n; i++) {
  6.         key = arr[i];
  7.         if (key > 0)
  8.             continue;
  9.         j = i - 1;
  10.         while (j >= 0 && arr[j] > 0) {
  11.             arr[j + 1] = arr[j];
  12.             j = j - 1;
  13.         }
  14.         arr[j + 1] = key;
  15.     }
  16. }
  17.  
  18. int main(void) {
  19.     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 };
  20.     int n = sizeof(arr) / sizeof(arr[0]);
  21.  
  22.     for (int i = 0; i < n; ++i)
  23.         printf("%.6lf ", arr[i]);
  24.     printf("\n");
  25.  
  26.     rearrange(arr, n);
  27.    
  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