Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2021
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. #include<stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4.  
  5. void swap(double *x, double *y)
  6. {
  7. double tmp=*x;
  8. *x=*y;
  9. *y=tmp;
  10. }
  11.  
  12.  
  13.  
  14. void kokko(double arr[], int b, int e)
  15. {
  16. int l = b, r = e;
  17. int piv = arr[(l + r) / 2];
  18. while (l <= r)
  19. {
  20. while (arr[l] < piv)
  21. l++;
  22. while (arr[r] > piv)
  23. r--;
  24. if (l <= r)
  25. swap (&arr[l++], &arr[r--]);
  26. }
  27. if (b < r)
  28. kokko(arr, b, r);
  29. if (e > l)
  30. kokko(arr, l, e);
  31. }
  32.  
  33.  
  34. int main(void) {
  35. double arr[100];
  36. int n, i;
  37.  
  38. // уведення масиву
  39. printf("Уведіть кількість чисел n = ");
  40. scanf("%d", &n);
  41.  
  42. for (int i = 0; i < n; i++) {
  43. printf("arr[%d] = ", i);
  44. scanf("%lf", &arr[i]);
  45. }
  46.  
  47. printf("\n\n");
  48.  
  49.  
  50. kokko( arr, 0, n-1);
  51. // виведення масиву
  52. for (int i = 0; i < n; i++)
  53. printf("arr[%d] = %.2f\n", i, arr[i]);
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement