[ create a new paste ] login | about

Link: http://codepad.org/F369p6mL    [ raw code | output | fork ]

C++, pasted on Nov 5:
#include <ostream>
#include <ctype.h> 



void union_ch(char* s, char*  e, char* s1, char* e1, char* s2, char* e2) {
   if((e - s) != ((e1 - s1) + (e2 - s2)))
        return;
   --e;
   while(s1 != e1) {
        if(isalpha(*s1))
            *s++ = *s1;
        else
            *e-- = *s1;
        ++s1;
   }

   while(s2 != e2) {
        if(isalpha(*s2))
            *s++ = *s2;
        else
            *e-- = *s2;
        ++s2;
   }
}




int main(void){
    const int n = 5;
    const int m = 7;
    const int k = m+n;

    char A[n] = { 'A', '+', 'B', 'C', '5' };
    char B[m] = { 'D', 'E', ':', 'F', ';', '#', 'Z' };
    char C[k];

    union_ch(C, C + k,  A, A + n,  B, B + m);

    for(char* i = C; i != C + k; ++i)
          std::cout << *i;
    return 0;
}


Output:
1
ABCDEFZ#;:5+


Create a new paste based on this one


Comments: