Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void print(int* arr, int size) {
- for (int i = 0; i < size; i++) {
- cout << *(arr + i) << " ";
- }
- cout << endl;
- }
- void init(int* arr, int size) {
- for (int i = 0; i < size; i++) {
- *(arr + i) = rand() % 100;
- }
- }
- void merge(int* arr1, int size1, int* arr2, int size2, int* arr3, int size3) {
- int i1 = 0, i2 = 0;
- for (int i = 0; i < size3; i++) {
- if (i1 == size1) {
- for (int j = i; j < size3; j++) {
- *(arr3 + j) = *(arr2 + i2);
- i2++;
- }
- return;
- }
- if (i2 == size2) {
- for (int j = i; j < size3; j++) {
- *(arr3 + j) = *(arr1 + i1);
- i1++;
- }
- return;
- }
- if (*(arr1 + i1) > *(arr2 + i2)) {
- *(arr3 + i) = *(arr2 + i2);
- i2++;
- }
- else {
- *(arr3 + i) = *(arr1 + i1);
- i1++;
- }
- }
- }
- int main() {
- setlocale(LC_ALL, "ru");
- srand(time(NULL));
- const int size1 = 5, size2 = 8;
- int arr1[size1]{ 1,3,5,7,9 };
- int arr2[size2]{ 0,2,4,6,8,10,12,14 };
- const int size3 = size1 + size2;
- int arr3[size3];
- merge(arr1, size1, arr2, size2, arr3, size3);
- print(arr3, size3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement