Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. inline void wypelnij(int * tab, int rozmiar)
  5. {
  6. for (size_t i = 0; i < rozmiar; i++)
  7. {
  8. tab[i] = i;
  9. }
  10. }
  11.  
  12. inline int * allokacja(int rozmiar)
  13. {
  14. int * tab = malloc(sizeof(int*)*rozmiar);
  15. return tab;
  16. }
  17.  
  18. inline void zwolnij_pamiec(int *tab)
  19. {
  20. free(tab);
  21. }
  22.  
  23. inline void wyswietl(const int * tab, int rozmiar)
  24. {
  25. for (size_t i = 0; i < rozmiar; i++)
  26. {
  27. printf("[%d] = %d \n", i, tab[i]);
  28. }
  29. }
  30.  
  31. inline int * usun_losowy_element(int * tab, int * rozmiar)
  32. {
  33. int losowy_index = rand() % (*rozmiar - 2);
  34.  
  35. int nowy_rozmiar = *rozmiar - 1;
  36. int * nowa_tab = allokacja(nowy_rozmiar);
  37.  
  38. printf("Wylosowano index: %d \n", losowy_index);
  39.  
  40. for (size_t i = 0, j = 0; i < *rozmiar; i++)
  41. {
  42. if (i != losowy_index)
  43. {
  44. nowa_tab[j] = tab[i];
  45. j++;
  46. }
  47. }
  48.  
  49. *rozmiar = nowy_rozmiar;
  50. return nowa_tab;
  51. }
  52.  
  53. void usun_losowy_element2(int ** tab, int * rozmiar)
  54. {
  55. /*
  56. int nowy_rozmiar = *rozmiar;
  57.  
  58. int * nowa_tab = allokacja(nowy_rozmiar);
  59.  
  60. for (size_t i = 0; i < *rozmiar; i++)
  61. {
  62. printf("[%d] = %d", i, *(tab[i]));
  63. //nowa_tab[i] = *tab[i];
  64. }
  65.  
  66. zwolnij_pamiec(tab);
  67.  
  68. rozmiar = nowy_rozmiar;
  69. *tab = nowa_tab;
  70.  
  71. */
  72. }
  73.  
  74.  
  75. void znajdz(const int * tabA, const int * tabB, int rozA, int rozB)
  76. {
  77. int czy_wystapila = 0;
  78.  
  79. for (size_t i = 0; i < rozA; i++)
  80. {
  81. for (size_t j = 0; j < rozB; j++)
  82. {
  83. if (tabA[i] == tabB[j])
  84. {
  85. czy_wystapila = 1;
  86. break;
  87. }
  88. }
  89.  
  90. if (czy_wystapila == 0)
  91. {
  92. printf("Liczba ktora nie wystapila to: %d", tabA[i]);
  93. break;
  94. }
  95. else
  96. czy_wystapila = 0;
  97. }
  98. }
  99.  
  100. #include <math.h>
  101. int main()
  102. {
  103. floor(2.3);
  104. ceill(2.3);
  105. srand((unsigned int)time(NULL));
  106.  
  107.  
  108. int rozmiar = 5;
  109. int * tab = allokacja(rozmiar);
  110. wypelnij(tab, rozmiar);
  111. wyswietl(tab, rozmiar);
  112.  
  113. int * tab2 = usun_losowy_element(tab, &rozmiar);
  114. wyswietl(tab2, rozmiar);
  115.  
  116. usun_losowy_element2(&tab, &rozmiar);
  117.  
  118. znajdz(tab, tab2, rozmiar + 1, rozmiar);
  119. printf("Po usunieciu \n");
  120.  
  121. zwolnij_pamiec(tab);
  122.  
  123. system("pause");
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement