Ahmet_Durmic

Array Union

Jul 14th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. void unesi(int *A, int n) {
  6. for (int i = 0; i < n; i++) {
  7. cout << "Unesite " << i + 1 << ". clan niza: "; cin >> A[i];
  8. }
  9. }
  10. void ispisi(int *A, int n) {
  11. cout << "---------------------------------------\n";
  12. cout << "Clanovi niza su: ";
  13. for (int i = 0; i < n; i++) {
  14. cout << A[i] << " ";
  15. }
  16. cout << endl;
  17. cout << "---------------------------------------\n";
  18. cout << endl;
  19. }
  20.  
  21. void swap(int &A, int &B) {
  22. int temp;
  23. temp = A;
  24. A = B;
  25. B = temp;
  26. }
  27. void sortiraj(int *A, int n) {
  28. for (int i = 0; i < n - 1; i++) {
  29. for (int j = 0; j < n - 1; j++) {
  30. if (A[j] > A[j + 1]) {
  31. swap(A[j], A[j + 1]);
  32. }
  33. }
  34. }
  35. }
  36.  
  37. void array_union(int *A, int a, int *B, int b, int *C,int c) {
  38. int i = 0;
  39. int j = 0;
  40. int k = 0;
  41. while (i < a&&j < b) {
  42. if (A[i] < B[j]) {
  43. C[k] = A[i];
  44. i++; k++;
  45. }
  46. else if (A[i] > B[j]) {
  47. C[k] = B[j];
  48. k++; j++;
  49. }
  50. else {
  51. C[k] = A[i];
  52. k++; i++; j++;
  53. c--;
  54. }
  55. }
  56. for (; i < a; i++) {
  57. C[k] = A[i];
  58. k++;
  59. }
  60. for (; j < b; j++) {
  61. C[k] = B[j];
  62. k++;
  63. }
  64. ispisi(C, c);
  65. }
  66.  
  67. int main() {
  68.  
  69. int x;
  70. cout << "Unesite koliko zelite unijeti clanova niza: "; cin >> x;
  71. int *A = new int[x];
  72. unesi(A, x);
  73. sortiraj(A, x);
  74. ispisi(A, x);
  75. int y;
  76. cout << "Unesite koliko zelite unijeti clanova drugog niza: "; cin >> y;
  77. int *B = new int[y];
  78. unesi(B, y);
  79. sortiraj(B, y);
  80. ispisi(B, y);
  81.  
  82. int z = x + y;
  83. int *C = new int[z];
  84. cout << "Unija clanova prvog i drugog niza\n";
  85. array_union(A, x, B, y, C,z);
  86.  
  87. delete[] A;
  88. A = nullptr;
  89. delete[] B;
  90. B = nullptr;
  91. delete[]C;
  92. C = nullptr;
  93.  
  94. system("pause");
  95. return 0;
  96. }
Add Comment
Please, Sign In to add comment