Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 35

replace заменяет подстроку на 2 символа левее нужной

09.06.2021, 17:47. Показов 1169. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть код для 12 задачи по инфе. Его суть такова: если есть подстрока "111" заменить "111" на "2" и заменить "222" на "1". Код корректно находит все подстроки и заменяет "111" на "2", но не правильно заменяет "222" и "1" (пример: надо заменить символы 5,6,7, код меняет 7,8,9). Как это исправить?
C++ (Qt)
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
27
28
29
30
31
#include<iostream>
 
    using namespace std;
int main()
{
  
    string s(40, '1');
    string s1(40, '2');
   
   
    s += s1;
    cout << s << endl;
  
    int p1 = s.find("111");
    int p2 = s.find("222");
    while (p1 != string::npos) {
       
        if (p1 != string::npos)
        cout << p1 << " ";{
            s.replace(p1, 3, "2");}
        if (p2 != string::npos){
            s.replace(p2, 3, "1");
        cout << p2 << endl;}
        
 
        p1 = s.find("111");
        p2 = s.find("222");
        cout << s << endl;
    }
    cout << s;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2021, 17:47
Ответы с готовыми решениями:

Дана строка. Найти число вхождений в ее подстроку , расположенную левее первого символа «.», подстроки из двух символов «:=»
Дана строка. Найти число вхождений в ее подстроку , расположенную левее первого символа «.», подстроки из двух символов «:=». Если символ...

Replace заменяет то что не нужно
Может кто сталкивался с такой проблемой, мне нужно в строке заменить все точки запятыми я воспользовалась функцией lines =...

Replace заменяет не все слова в StringBuilder
Доброго времени суток,уважаемые форумчане! Имеется код, по сути написанный правильно. Правильно-в смысле того, что по идее он должен...

1
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
09.06.2021, 19:34
Лучший ответ Сообщение было отмечено kerb4k как решение

Решение

Цитата Сообщение от kerb4k Посмотреть сообщение
C++
1
2
3
4
5
6
7
int p1 = s.find("111");
    int p2 = s.find("222");
    while (p1 != string::npos) {
if (p1 != string::npos)
        cout << p1 << " ";{
            s.replace(p1, 3, "2");}
        if (p2 != string::npos){
Цитата Сообщение от kerb4k Посмотреть сообщение
суть такова:
после s.replace(p1, 3, "2") у тебя размер строки меняется - p2 невалиден
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2021, 19:34
Помогаю со студенческими работами здесь

Заменить Split-подстроку, используя Replace
Нужно выбрать подстроку из строки, используя Split.(читается txt-таблица с координатами, нужно подставить координаты из другой) char...

Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа
Добрый вечер. Ответ искал, но не нашёл. Предположим, есть строка: ABC|DEF Надо скопировать всё до | , т.е., в приведённом...

Написать подпрограмму, которая заменяет все вхождения подстроки s1 на подстроку s2
Помогите, пожалуйста. С клавиатуры задать строку символов. Написать подпрограмму, которая заменяет все вхождения подстроки s1 на...

Написать подпрограмму, которая заменяет все вхождения подстроки s1 на подстроку s2
Помогите, пожалуйста. С клавиатуры задать строку символов. Написать подпрограмму, которая заменяет все вхождения подстроки s1 на...

Как прочитать подстроку от символа и до символа ?
доброго времени суток! подскажите, пожалуйста, как можно получить текст от определённого символа и до нужного мне символа? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вот уже год прошел, как у меня домен в reg.ru ...
Etyuhibosecyu 16.04.2026
И ничего они мне не сделали. Если отвязать карту, никакие услуги они не навяжут. Я бы с радостью продлил еще на два года, чтобы не мучиться с временным доменом и меня уже знали по red-star-soft. com,. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru