yukisaw

Swap first and last letters in word

Nov 10th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void SwapChars(char *str, char *delim)
  6. {
  7.     size_t length = strlen(str);
  8.     size_t variants = strlen(delim);
  9.     int last = length;
  10.     while(length--)
  11.     {
  12.         bool delimited = false;
  13.         for (unsigned int i = 0; i < variants; ++i)
  14.         if (str[length] == delim[i])
  15.         {
  16.             delimited = true;
  17.             break;
  18.             }
  19.         if (delimited || length == 0)
  20.         {
  21.             if (last - length < 3)
  22.             {
  23.                 last = length;
  24.                 continue;
  25.             }
  26.             else
  27.             {
  28.                 int pos = (length) ? length+1 : 0;
  29.                 char buf = str[last-1];
  30.                 str[last-1] = str[pos];
  31.                 str[pos] = buf;
  32.                 last = length;
  33.             }
  34.         }
  35.     }
  36. }
  37. int main()
  38. {
  39.     char str[] = "ENGLISH, MOTHERFUCKER! DO-YOU-SPEAK-IT?";
  40.     char delim[] = " -!,?";
  41.     SwapChars(str, delim);
  42.     printf("%s\n", str);
  43.     system("pause");
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment