fork download
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. int n,m; //Задаем размерность обоих массивов.
  7. cin >>n>>m; //Считываем их.
  8. double *A=new double [n]; //Выделяем память для 1-го массива.
  9. double *B=new double [m]; //Выделяем память для 2-го массива.
  10. double *C=new double [n+m]; //Выделяем память для массива, который объединит в себе 1-й и 2-й массивы.
  11. cout <<"A={";
  12. for(int i=0;i<n;++i){ //Заполняем 1-й масив и сразу выводим его.
  13. cin >>A[i];
  14. cout <<A[i];
  15. if(i<n-1)
  16. cout <<" ";
  17. else
  18. cout <<"}";
  19. }
  20. cout <<endl<<"B={";
  21. for(int j=0;j<m;++j){ //Заполняем 2-й масив и сразу выводим его.
  22. cin >>B[j];
  23. cout <<B[j];
  24. if(j<m-1)
  25. cout <<" ";
  26. else
  27. cout <<"}";
  28. }
  29. cout <<endl<<"C={";
  30. memcpy(C,A,n*sizeof (A[0])); //С помощью функции "memcpy"(из библиотеки string.h) копируем данные из 1-го массива(A) в массив(C). По условию задачи в массиве C сначала идут элементы массива A.
  31. //Задаем данные в функцию: "в какой массив","из какого массива", "размер массива"(размер типа одного элемента массива, умноженный на число элементов(n)).
  32. memcpy(C+n,B,m*sizeof (B[0])); //"C+n"-n первых элементов массива(C) уже скопированы из 1-го массива(A), оставшиеся m будут скопированы из 2-го массива(B).
  33. for(int k=0;k<n+m;++k){
  34. cout <<C[k]; //Выводим массив(C) - объединение 1-го(A) и 2-го(B) массивов.
  35. if(k<n+m-1)
  36. cout <<" ";
  37. else
  38. cout <<"}";
  39. }
  40. return 0;
  41. }
Success #stdin #stdout 0s 3432KB
stdin
3 4
0 1 2
5 7 8 4

2 9
9 3.6
7.4 3.6 4.6666 7.997022 1 1 1 1 1
stdout
A={0 1 2}
B={5 7 8 4}
C={0 1 2 5 7 8 4}