Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int a[10] = {3,5,6,9,10,1,3,7,12,15};
  5. int a[10] = {4,5,3,4,9,7,12,10,42,0};
  6. int b[10];
  7.  
  8. void scal(int poczatek, int koniec)
  9. {
  10. int srodek = (poczatek + koniec) / 2;
  11. printf("Poczatek: %d, Srodek: %d, Koniec: %d \n", poczatek, srodek, koniec);
  12.  
  13. int dlugosc_pierwszej = srodek + 1;
  14. int dlugosc_drugiej = koniec + 1;
  15. int i = poczatek;
  16. int j = srodek + 1;
  17. int index_b = 0;
  18.  
  19. while(i<dlugosc_pierwszej && j<dlugosc_drugiej)
  20. {
  21. if(a[i] <= a[j])
  22. {
  23. b[index_b] = a[i];
  24. i++;
  25. }
  26. else
  27. {
  28. b[index_b] = a[j];
  29. j++;
  30. }
  31. index_b++;
  32. }
  33.  
  34. while(i<dlugosc_pierwszej)
  35. {
  36. b[index_b] = a[i];
  37. i++;
  38. index_b++;
  39. }
  40.  
  41. while(j<dlugosc_drugiej)
  42. {
  43. b[index_b] = a[j];
  44. j++;
  45. index_b++;
  46. }
  47. }
  48. /*void sortowanie_przez_scalenie(int poczatek, int koniec)
  49. {
  50. if (poczatek < koniec)
  51. {
  52. int srodek = (poczatek + koniec) / 2;
  53. printf("Poczatek: %d, Srodek: %d, Koniec: %d \n", poczatek, srodek, koniec);
  54. sortowanie_przez_scalenie(poczatek, srodek);
  55. sortowanie_przez_scalenie(srodek + 1, koniec);
  56. scal(poczatek, srodek, koniec);
  57. }
  58. }*/
  59. int main()
  60. {
  61. /*scal(0,1);
  62. scal(2,3);
  63. scal(4,5);
  64. scal(6,7);
  65. scal(8,9);
  66.  
  67. scal(0,2);
  68. scal(3,5);
  69. scal(6,8);
  70. scal(9,9);
  71.  
  72. scal(0,3);
  73. scal(4,7);
  74. scal(8,9);
  75.  
  76. scal(0,4);
  77. scal(5,9);
  78. */
  79. scal(0,9);
  80.  
  81. int i;
  82. for (i=0; i<10; i++)
  83. {
  84. printf("%d ", b[i]);
  85. }
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement