Строки: как вставить пробел в строку
Вставить пробел в строку после каждого символа «.» «,» «!» или «?», если за этими символами не следует пробел
Вставить пробел после каждого символа «.» «,» «!» или «?», если за этими символами не следует.
Как вставить в строку пробел фиксированной длины?
Прошу подсказать, как вставить в строку пробел фиксированной длины?
Вставить в строку пробел после каждого символа
Дана строка. Вставить после каждого символа пробел.
Как вставить в TextBox текущее время, и через пробел вставить текст?
Я хочу сделать свою программку типа собеседника. Тоесть например вводишь в один TextBox вопрос , и.
Регистрация: 03.03.2009
Сообщений: 254
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// inserting into a string #include #include using namespace std; int main () { string str="to be question"; string str2="the "; string str3="or not to be"; string::iterator it; // used in the same order as described above: str.insert(6,str2); // to be (the )question str.insert(6,str3,3,4); // to be (not )the question str.insert(10,"that is cool",8); // to be not (that is )the question str.insert(10,"to be "); // to be not (to be )that is the question str.insert(15,1,':'); // to be not to be(:) that is the question it = str.insert(str.begin()+5,','); // to be(,) not to be: that is the question str.insert (str.end(),3,'.'); // to be, not to be: that is the question(. ) str.insert (it+2,str3.begin(),str3.begin()+3); // (or ) cout str endl; return 0; }
6277 / 3562 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include #include #include int main() { char word[7]="6789."; puts(word); memmove(&word[2], &word[1], 4); word[1] = ' '; puts(word); system("pause"); return 0; }
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Для полученной строки потребуется больше памяти, пробел туда не влезет. Можно создать строку большего размера, например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#include using namespace std; int main() { const int size = 7; char word[size]="6789."; cout word endl; for(int i = 0;i '.'; ++i) { if(word[i] == '7') { for(int j = size - 1; j != i; --j) { word[j] = word[j - 1]; } word[i] = ' '; break; } } cout word endl; return 0; }
Или новую строку создать, выделив память динамически.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Ввести строку символов и вставить пробел после каждого знака препинания
А как это будет написано на с#? "Ввести строку символов и вставить пробел после каждого знака.
Строки. Вставить пробел после каждой нечетной буквы в слове
1) Дано слово, посчитать, сколько раз входит в него сочетание «he» (Уже составил, см.ниже); 2).
Как вставить слово в строку или удалить из строки?
Здравствуйте! Спрашиваю, так как не мог найти утвердительного ответа в поиске. Как вставить слово.
Как вставить подстроку в строку напр. с 5-го символа исх. строки?
вопрос в заголовке я думаю всем ясен, не знаю что тут еще добавить
Как поставить пробел после запятой в строке?
В чём же проблема?
- Вопрос задан более года назад
- 198 просмотров
3 комментария
Средний 3 комментария
Есть же memmove, зачем руками копировать байты? Это скучное занятие.
Искать запятые можно с помощью strchr.
В Insert вы затираете завершающий ноль и не восстанавливаете его. По идее последний printf вам может выдать вашу строку с мусорным продолжением, так же может быть и SEGFAULT если не повезет.
Вы не контролируете выход за границы массива в Insert. Например, что будет, если введенная строка будет длиной в 255 байт и там надо будет вставить 2 пробела (хотя достаточно и одного, чтоб выход за границы массива случился в printf)?
В Insert вы затираете завершающий ноль и не восстанавливаете его.
res2001, Нет, не затирает. Первая итерация цикла как раз его копирует.
jcmvbkbc, Да, согласен. Завершающий ноль не затирается.
Но выход за границу массива все равно возможен, когда итоговая строка будет больше 255 символов.
Т.к. массив sentence лежит на стеке, то это может проявляться по разному.
Решения вопроса 1
Илья @Leytox Автор вопроса
for (int i = strlen(sentence); i > pos; i—) <
sentence[i + 1] = sentence[i];
>
sentence[pos] = ‘,’;
sentence[pos + 1] = ‘ ‘;
Ответ написан более года назад
sentence[pos] = ‘,’; не нужно, потому что функция вызывается только когда sentence[pos] == ‘,’;
Ответы на вопрос 1
«I’m here to consult you» © Dogbert
В чём же проблема?
for (int i = strlen(sentence); i >= pos; i--)
Должно быть
for (int i = strlen(sentence); i > pos; i--) < sentence[i + 1] = sentence[i]; >sentence[pos + 1] = ' ';
Ответ написан более года назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- C
- +1 ещё
Почему мой пин постоянно 1?
- 1 подписчик
- вчера
- 134 просмотра
Вставить в строку пробелы с конца
Суть в том, что надо вставить пробелы в массив типа char с конца через каждые 3 символа, чтобы введя 1234567890, на выходе получалось 1 234 567 890. Я смог только обратится к концу массива, однако как вставить пробелы я без понятия. Буду благодарен за любую помощь
int main() < setlocale(0, ""); srand(time(0)); const int size = 80; char num[size]; cout system("pause"); return 0; >
Отслеживать
218k 15 15 золотых знаков 117 117 серебряных знаков 229 229 бронзовых знаков
задан 15 дек 2020 в 6:47
bruhmomentum bruhmomentum
59 1 1 серебряный знак 8 8 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Вот пример кода с комментариями:
int real_size = strlen(num); //Количество отступов int count = real_size / 3 + (bool)(real_size % 3) - 1; //Обрезаем нашу новую строку num[real_size + count] = '\0'; //Проходим по всем тройкам с конца, кроме первой for (int i = real_size - 1; i >= 3; i -= 3) < //Можно без цикла просто перенести три символа назад на count позиций for (int j = 0; j
Объясню идею через пример.
Есть строка 1234567 у нее count = 2 т.к. в итоге получим 2 пробела. И первую с конца тройку мы сместим сначала на 2 позиции. Т.к. мы знаем что будет еще одна тройка, которую мы уже сместим на 1 позицию. Получается каждую следующую тройку мы будем смещать на 1 позицию меньше, чем предыдущую. Надеюсь понятно объяснил.
Как добавить пробел в начало строки
Добавить в начало каждой строки текста её номер и пробел
Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В.
Добавить в начало каждой строки в массиве текста её номер, точку и пробел
Предусмотреть ввод с клавиатуры текста, состоящего не менее чем из четырех строк. Добавить в начало.
Как добавить номер в начало строки
Друзья, есть код. Коротко, создается массив строк сортируется и выводится в консоль. Нужно добавить.
Не понимаю, как добавить в начало каждого слова строки количество символов из которого оно состоит
Смог довести программу до этого вида, а дальше не понимаю как сделать сдвиг, и вывести это.