Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void print(double *arr, int n) {
- for (int i = 0; i < n; ++i)
- printf("%.6lf ", arr[i]);
- printf("\n");
- }
- void rearrange(double *arr, int n) {
- double key;
- for (int i = 1, j = 0; i < n; i++) {
- print(arr, n);
- key = arr[i];
- if (key >= 0)
- continue;
- j = i - 1;
- while (j >= 0 && arr[j] >= 0) {
- arr[j + 1] = arr[j];
- j = j - 1;
- }
- arr[j + 1] = key;
- }
- }
- int main(void) {
- double arr[] = { -1/6.0, 0.0, -3/6.0, 4/3.0, 5/3.0, 6/3.0, -7/3.0, 8/3.0, 9/3.0 };
- int n = sizeof(arr) / sizeof(arr[0]);
- rearrange(arr, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement