daily pastebin goal
45%
SHARE
TWEET

Untitled

a guest May 17th, 2018 89 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Ну для начала, тут важно знание того, что строка, это по сути отдельный класс (определенный в stdlib). Если ты хорошо учил плюсы, ты наверно знаешь, что в классах типа vector\deque\list существуют банальнейшие стековые операции push\pop.
  2. Создаем вторую версию строки, в которую будет аутпутится все операции
  3. Создаем отдельную функцию, проверяющую наличие пробелов и сующую все кроме пробелов в два контейнера string, далее создаем функцию, которая будет совать во вторую строку второй, потом первый контейнер, потом меняем контейнеры местами (знаю, быдлокод, нету времени обдумать более хорошую умную реализацию)
  4.  
  5. Примерная реализация (могут быть ошибки, ибо давно не кодил на плюсах, сейчас учу другой язык, даже компилятора на плюсы под рукой нет) */
  6.  
  7. //#include <iostream>
  8. //#include <fstream>
  9. #include <string>
  10. using namespace std;
  11. int main();
  12. void next();
  13. void pushvalues(const string&, const string&, string&);
  14.  
  15. int main {
  16.     string lol1;
  17.  
  18.     //OUTPUT
  19.    
  20.     if (!(lol1))
  21.         return 1;
  22.     string lol2;
  23.     string *word1, *word2 = new string;
  24.    
  25.     for (int i = 0; i != '101'; ++i) {
  26.         //Насколько я помню pop_back и pop_front возвращает удаленное значение, в противном случае сам допиши
  27.         word1.push_back(lol1.pop_front); // 123456 <- 7 <- 89 :)
  28.         if (word1[i-1] == ' ') {
  29.             word1.pop_back;
  30.             i = 101;
  31.         }
  32.    
  33.     }
  34.     for (int i = 0; i != '101'; ++i) {
  35.         word2.push_back(lol1.pop_front);
  36.         if (word2[i-1] == ' ') {
  37.             word2.pop_back;
  38.             i = 101;
  39.         }
  40.  
  41.     }
  42.    
  43.         pushvalues(&word1, &word2, &lol2); // (word2 word1) (word3 word4 word5)
  44.  
  45.     while (lol1) // word1 <-> word3 | while anything in lol1 (1. Recognise word3 2. wrap with word1 3. ??? 4. PROFIT!)
  46.     {
  47.         for (int i = 0; i != '101'; ++i) {
  48.             word2.push_back(lol1.pop_front);
  49.             if (word2[i-1] == ' ') { // WORD3 RECOGNISED FUCK YEAH ;[
  50.                 word2.pop_back;
  51.                 i = 101;
  52.             }
  53.         }
  54.    
  55.         pushvalues(&word1, &word2, &lol2);
  56.     }
  57.  
  58.     delete word1, word2;
  59. //OUTPUT
  60. return 0; }
  61.  
  62. /*void change(string& word1, string& word2) {
  63. string temp;
  64. temp = word1;
  65. word1 = word2;
  66. word2 = temp;
  67. return; }*/
  68.  
  69. void pushvalues(const string& word1, const string& word2, string& container) {
  70.     container.push_back(word2);
  71.     container.push_back(' ');
  72.     container.push_back(word1);
  73. return; }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top