Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- void print_backwards(const char* begin, const char* end)
- {
- int pos = end - begin - 1;
- int offset = 0;
- if(begin == end || pos == 0)
- {
- std::cout << begin[0];
- return;
- }
- while((int)*(begin + pos) <= 32 && pos >= 0)
- {
- --pos;
- }
- while((int)*(begin + pos) > 32 && pos > 0)
- {
- ++offset;
- --pos;
- }
- for(size_t i = 0; i < offset; ++i)
- {
- std::cout << begin[pos + 1 + i];
- }
- std::cout << " ";
- print_backwards(begin, begin + pos);
- }
- void print_backwards(const char* string)
- {
- std::cout << "'";
- print_backwards(string, string + strlen(string));
- std::cout << "'";
- }
- // Извикването print_backwards("I\tneed a break!"); извежда низа "break! a need I".
- int main()
- {
- const char* str = "I\tneed a break!";
- print_backwards(str);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement