Taraxacum

Recursive DeleteChar

Nov 28th, 2021
640
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. void deletechar(char* str1, const char* str2)
  4. {
  5.     if (*str1 == '\0' || *str2 == '\0')
  6.     {
  7.         return;
  8.     }
  9.  
  10.     deletechar(str1 + 1, str2);
  11.     if (*str1 == *str2)
  12.     {
  13.         deletechar(str1 + 1, str2 + 1);
  14.         for (char* p = str1; *p; p++)
  15.         {
  16.             *p = *(p + 1);
  17.         }
  18.     }
  19.     else
  20.     {
  21.         deletechar(str1, str2 + 1);
  22.     }
  23. }
  24.  
  25. int main()
  26. {
  27.     char str1[BUFSIZ] = {0};
  28.     char str2[BUFSIZ] = {0};
  29.  
  30.     std::cin.getline(str1, BUFSIZ);
  31.     std::cin.getline(str2, BUFSIZ);
  32.  
  33.     deletechar(str1, str2);
  34.  
  35.     std::cout << str1 << std::endl;
  36. }
  37.  
RAW Paste Data