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[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. // cout << "str1_len= " << strlen(str1) << endl;
  40. // cout << "str2_len= " << strlen(str2) << endl;
  41.  
  42. unsigned int nr;
  43.  
  44. if(str1_len <= str2_len)
  45. nr = str1_len;
  46. else
  47. nr = str2_len;
  48.  
  49. // cout << "nr= " << nr << endl;
  50.  
  51. char *str_new = new char[nr];
  52.  
  53. unsigned int j, k;
  54. j=0;
  55. k=0;
  56.  
  57. for (int i=0; i<nr; i++)
  58. {
  59. if(i%2 == 0)
  60. {
  61. str_new[i] = str1[j];
  62. j++;
  63. }
  64. else
  65. {
  66. str_new[i] = str2[k];
  67. k++;
  68. }
  69. }
  70. return str_new;
  71. }
  72.  
Success #stdin #stdout 0s 15240KB
stdin
4
a bb
abs sfd
ewr w
wqeqweqweq eqweqwe
stdout
a
asb
e
weqqewq