Я хочу создать функцию, которая будет случайным образом вставлять пробел между словами в строке, используя случайное число, чтобы выбрать 1 или 2, а затем перейти к вставке или перейти к концу следующего слова. я хочу, чтобы это происходило только тогда, когда длина строки меньше предопределенного предела, который я наложил на него с помощью переменной myLength. моя главная проблема заключается в том, что мой плохо спроектированный цикл заполняет пространство между первым словом и вторым словом и не проверяет другие.
Моя главная проблема в том, что мой плохо спроектированный цикл заполняет пространство между первым словом и вторым словом и не проверяет остальные.
void NumLoop(string& s) {
int pos = s.find_first_of(' ');
while (s.length() < myLength) {
for (int pos; pos != string::npos; pos = s.find(' ', pos + 1)) {
int choice = rand() % 2;
if (choice = 1) {
s.insert(pos + 1, " ");
break;
}
if (choice = 0) {
break;
}
}
}
cout << s;
system("pause");
}
Я хотел бы, чтобы программа случайным образом выбирала пробелы между словами, а затем увеличивала размер строки до тех пор, пока не достигнет желаемой длины s.