Advertisement
35657

Untitled

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