Advertisement
seld1

Untitled

May 17th, 2021
745
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. // cpptest.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4. #include <iostream>
  5. #include <Windows.h>
  6. #include <String>
  7. #include <sstream>
  8. using namespace std;
  9. int main()
  10. {
  11.     setlocale(0, "RU");
  12.     SetConsoleCP(1251);
  13.     SetConsoleOutputCP(1251);
  14.     cout << "Введите строку>";
  15.  
  16.     int Wcount = 0;
  17.    
  18.    
  19.     int k = 0;
  20.    
  21.     string s1;
  22.     string word;
  23.  
  24.     stringstream ss;
  25.  
  26.     getline(cin, s1);
  27.     cout << "Длина строки:" << s1.length() << endl;
  28.     cout << "Введите новую длину строки>";
  29.     cin >> k;
  30.    
  31.     if (k < s1.length()) {
  32.         cout << "Длина новой строки должна быть больше начальной";
  33.     }
  34.     else {
  35.         ss.str(s1);
  36.         while (ss >> word) Wcount++; //Счетчик количества слов            
  37.         ss.clear();//очистка потока  
  38.         //Заносим строку в поток
  39.         ss.str(s1);
  40.         //Очищаем строку
  41.         s1.clear();
  42.         //Образуем строку слов разделенных одним пробелом
  43.         while (ss >> word)
  44.             if (Wcount > 1) {
  45.                 s1 += word + " ";
  46.                 Wcount--;
  47.             }
  48.             else s1 += word;
  49.  
  50.         bool Completed = false;
  51.         while (Completed!=true)
  52.         {
  53.             for (int i = 0; i < s1.length() - 1; i++) {
  54.                 if (s1[i] == ' ' && s1[i + 1] != ' ' && s1[i + 1] != '\n') {
  55.                     s1.insert(i + 1, " ");
  56.                    
  57.                     if (s1.length()==k) {
  58.                         Completed = true;
  59.                         break;
  60.                     }
  61.                     i += 2;
  62.                 }
  63.             }
  64.         }
  65.  
  66.         cout << endl << "Результат:" << s1;
  67.         cout << endl << "size:" << s1.length();
  68.     }
  69.     return 0;
  70.  
  71.  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement