fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void merge(const int* a, size_t dima, const int* b, size_t dimb, int* c){
  5. int i = 0, j = 0, k = 0;
  6. while(i < dima && j < dimb){
  7. if(*(a + i) <= *(b + j))
  8. *(c + k++)=*(a + i++);
  9. else *(c + k++)=*(b + j++);
  10. }
  11. while(i < dima)
  12. *(c + k++)=*(a + i++);
  13. while(j < dimb)
  14. *(c + k++)=*(b + j++);
  15. }
  16.  
  17. int main() {
  18. // your code goes here
  19. int a[] = {1,4,4,5,8};
  20. int b[] = {1,2,2,4,6,6,9};
  21. constexpr size_t dima = (sizeof(a)/sizeof(*a));
  22. constexpr size_t dimb = (sizeof(b)/sizeof(*b));
  23. constexpr size_t dimc = dima + dimb;
  24. int c[dimc];
  25. merge(a, dima, b, dimb, c);
  26. for(int i = 0; i < dimc; i++)
  27. cout<<c[i]<<" ";
  28. return 0;
  29. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
1 1 2 2 4 4 4 5 6 6 8 9