Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 10 / example3.cpp
diff options
context:
space:
mode:
Commitd3150b67f0b98c4c7a08e4b297d5fcb723cf609f (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2021-12-15 21:09:37 +0200
Committer
 GitHub <noreply@github.com>
2021-12-15 21:09:37 +0200
Filesf1b0e86562ee57e5a6e7325c8d379c93a290ed04 /Sem. 10/example3.cpp
Introduction_to_programming_FMI-d3150b67f0b98c4c7a08e4b297d5fcb723cf609f.tar
Introduction_to_programming_FMI-d3150b67f0b98c4c7a08e4b297d5fcb723cf609f.tar.gz
Introduction_to_programming_FMI-d3150b67f0b98c4c7a08e4b297d5fcb723cf609f.zip
Parentba3352b47a17e81e27a565de2bc531f326c9c90d (diff)
Add files via upload
1 files changed, 39 insertions, 0 deletions
-rw-r--r--Sem. 10/example3.cpp39
diff --git a/Sem. 10/example3.cpp b/Sem. 10/example3.cpp
new file mode 100644
index 0000000..db6902b
--- /dev/null
+++ b/Sem. 10/example3.cpp
@@ -0,0 +1,39 @@
+#include <iostream>
+using namespace std;
+
+void merge(int* arr1, unsigned size1, const int* arr2, unsigned size2)
+{
+ int* result = new int[size1 + size2];
+
+ unsigned iter1 = 0;
+ unsigned iter2 = 0;
+ unsigned resultIter = 0;
+
+ while (iter1 < size1 && iter2 < size2)
+ {
+ if (arr1[iter1] <= arr2[iter2])
+ result[resultIter++] = arr1[iter1++];
+ else
+ result[resultIter++] = arr2[iter2++];
+ }
+
+ while (iter1 < size1)
+ result[resultIter++] = arr1[iter1++];
+
+ while (iter2 < size2)
+ result[resultIter++] = arr2[iter2++];
+
+ memcpy(arr1, result, sizeof(int) * (size1+ size2));
+ delete[] result;
+}
+
+int main()
+{
+
+ int arr[9] = { 1, 3, 5, 10 };
+ int arr2[] = { 2, 4, 6, 100, 9900 };
+ merge(arr, 4, arr2, 5);
+
+ for (int i = 0; i < 9; i++)
+ cout << arr[i] << " ";
+}