fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4. #define T_SIZE 1001
  5.  
  6. using namespace std;
  7.  
  8. char* string_merge(char *, char *);
  9.  
  10. int main()
  11. {
  12. int t;
  13. cin >> t;
  14.  
  15. char *S1 = new char[T_SIZE];
  16. char *S2 = new char[T_SIZE];
  17. char *S3 = new char[2*T_SIZE];
  18.  
  19. for(int i=0; i<t; i++)
  20. {
  21. cin >> S1;
  22. cin >> S2;
  23. S3 = string_merge(S1, S2);
  24. cout << S3 << endl;
  25. }
  26.  
  27. delete [] S1;
  28. delete [] S2;
  29. delete [] S3;
  30.  
  31. return 0;
  32. }
  33.  
  34. char* string_merge(char *str1, char *str2)
  35. {
  36. unsigned int str1_len = strlen(str1);
  37. unsigned int str2_len = strlen(str2);
  38.  
  39. unsigned int nr;
  40.  
  41. if(str1_len == str2_len)
  42. nr = str1_len * 2;
  43. else if (str1_len > str2_len)
  44. nr = str2_len * 2;
  45. else
  46. nr = str1_len * 2;
  47.  
  48. char *str_new = new char[nr];
  49.  
  50. unsigned int j, k;
  51. j=0;
  52. k=0;
  53.  
  54. for (int i=0; i<nr; i++)
  55. {
  56. if(i%2 == 0)
  57. {
  58. str_new[i] = str1[j];
  59. j++;
  60. }
  61. else
  62. {
  63. str_new[i] = str2[k];
  64. k++;
  65. }
  66. }
  67. return str_new;
  68. }
  69.  
Success #stdin #stdout 0.01s 15896KB
stdin
Standard input is empty
stdout