Advertisement
35657

Untitled

Mar 30th, 2024
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1.  
  2. #include <iostream>
  3.  
  4.  
  5. using namespace std;
  6.  
  7.  
  8. void print(int* arr, int size) {
  9.     for (int i = 0; i < size; i++) {
  10.         cout << *(arr + i) << " ";
  11.     }
  12.     cout << endl;
  13. }
  14.  
  15. void init(int* arr, int size) {
  16.     for (int i = 0; i < size; i++) {
  17.         *(arr + i) = rand() % 100;
  18.     }
  19. }
  20.  
  21. void merge(int* arr1, int size1, int* arr2, int size2, int* arr3, int size3) {
  22.    
  23.     int i1 = 0, i2 = 0;
  24.  
  25.     for (int i = 0; i < size3; i++) {
  26.         if (i1 == size1) {
  27.             for (int j = i; j < size3; j++) {
  28.                 *(arr3 + j) = *(arr2 + i2);
  29.                 i2++;
  30.             }
  31.             return;
  32.         }
  33.  
  34.         if (i2 == size2) {
  35.             for (int j = i; j < size3; j++) {
  36.                 *(arr3 + j) = *(arr1 + i1);
  37.                 i1++;
  38.             }
  39.             return;
  40.         }
  41.  
  42.         if (*(arr1 + i1) > *(arr2 + i2)) {
  43.             *(arr3 + i) = *(arr2 + i2);
  44.             i2++;
  45.         }
  46.         else {
  47.             *(arr3 + i) = *(arr1 + i1);
  48.             i1++;
  49.         }
  50.     }
  51.  
  52. }
  53.  
  54.  
  55. int main() {
  56.     setlocale(LC_ALL, "ru");
  57.  
  58.     srand(time(NULL));
  59.  
  60.     const int size1 = 5, size2 = 8;
  61.  
  62.     int arr1[size1]{ 1,3,5,7,9 };
  63.     int arr2[size2]{ 0,2,4,6,8,10,12,14 };
  64.  
  65.     const int size3 = size1 + size2;
  66.     int arr3[size3];
  67.    
  68.     merge(arr1, size1, arr2, size2, arr3, size3);
  69.  
  70.     print(arr3, size3);
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement