Advertisement
codegod313

vovs 42_2

Jan 29th, 2020
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. int init_str(char * &s) {
  2.     int i = 0;
  3.     while ((s[i] = getchar()) != '\n') {
  4.         s = (char *)realloc(s, sizeof(char)*(i + 2));
  5.         if (!s)
  6.             exit(-1);
  7.         i++;
  8.     }
  9.     s[i] = '\0';
  10.     return i;
  11. }
  12.    
  13. void reverser(char *s, int l, int r) {
  14.     if (l < r) {
  15.         char c;
  16.         c = s[l];
  17.         s[l] = s[r];
  18.         s[r] = c;
  19.         reverser(s, l + 1, r - 1);
  20.     }
  21. }
  22.  
  23. int main()
  24. {
  25.     setlocale(LC_ALL, "Russian");
  26.     char *s = (char*) malloc(sizeof(char));
  27.     int l = init_str(s);
  28.     int i = 0;
  29.     while (i < l) {
  30.         while (s[i] == ' ') i++;
  31.         int l = i, r;
  32.         while (s[i] != ' ' && s[i]) i++;
  33.         r = i - 1;
  34.         reverser(s, l, r);
  35.     }
  36.     printf("%s", s);
  37.     free(s);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement