Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // cpptest.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
- //
- #include <iostream>
- #include <Windows.h>
- #include <String>
- #include <sstream>
- using namespace std;
- int main()
- {
- setlocale(0, "RU");
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- cout << "Введите строку>";
- int Wcount = 0;
- int k = 0;
- string s1;
- string word;
- stringstream ss;
- getline(cin, s1);
- cout << "Длина строки:" << s1.length() << endl;
- cout << "Введите новую длину строки>";
- cin >> k;
- if (k < s1.length()) {
- cout << "Длина новой строки должна быть больше начальной";
- }
- else {
- ss.str(s1);
- while (ss >> word) Wcount++; //Счетчик количества слов
- ss.clear();//очистка потока
- //Заносим строку в поток
- ss.str(s1);
- //Очищаем строку
- s1.clear();
- //Образуем строку слов разделенных одним пробелом
- while (ss >> word)
- if (Wcount > 1) {
- s1 += word + " ";
- Wcount--;
- }
- else s1 += word;
- bool Completed = false;
- while (Completed!=true)
- {
- for (int i = 0; i < s1.length() - 1; i++) {
- if (s1[i] == ' ' && s1[i + 1] != ' ' && s1[i + 1] != '\n') {
- s1.insert(i + 1, " ");
- if (s1.length()==k) {
- Completed = true;
- break;
- }
- i += 2;
- }
- }
- }
- cout << endl << "Результат:" << s1;
- cout << endl << "size:" << s1.length();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement