Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
#1

Замена строки в подстроке на новую строку

06.08.2016, 09:58. Просмотров 1026. Ответов 26
Метки нет (Все метки)

Все доброго времени суток. Я написал программу, которая в строке S ищет подстроку S1 и заменяет ее на строку S2, но написал я эту программу с небольшой помощью интернета Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    setlocale (0, "");
    string str, str1, str2;
    int i=0, SecondStringSize = 0;
    cout<<"Введите первую строку: "; getline(cin, str);
    cout<<"Введите вторую строку: "; getline(cin, str1);
    cout<<"Введите третью строку: "; getline(cin, str2);
    SecondStringSize = str1.size();
    while (SecondStringSize != string::npos)
    {
        str.replace(SecondStringSize, str1.size(), str2);
        SecondStringSize = str.find(str1, SecondStringSize);
    }
    cout<<"Строка после обработки: "<<str<<endl;
    system("pause");
    return 0;
}
Хотелось бы, что бы мне доходчиво объяснили вот эту строку: SecondStringSize = str.find(str1, SecondStringSize);
Что-то до меня она туговато доходит. Я понял это так, что переменная SecondStringSize должна просто обновлять свое значение пока выполняется цикл ? Разъясните что да как в ней ))
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2016, 09:58
Ответы с готовыми решениями:

Замена пробелов в подстроке
Мне нужно написать функцию которая будет находить и заменять обычный пробел на...

Заданы две строки. Построить новую строку, состоящую из символов, которые входят в первую строку, но не входят во вторую
Помогите решить пожалуйста задачу условия звучат так. Заданы две строки....

Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в 1 строку но не входят во 2
Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в...

Копирование части строки, в новую строку
Здравствуйте, помогите плиз с этой задачей. Заранее спасибо. Копирование в...

Из строки вывести некоторые элементы в новую строку
Есть строка string: qqq-www aaa-sss zzz-xxx Должно получиться: qqq aaa...

26
Krock21rus
74 / 74 / 27
Регистрация: 18.11.2013
Сообщений: 373
Завершенные тесты: 2
06.08.2016, 14:46 #21
Nigmatulin,
Литературу, которая рассказывает о том, как работать со строками в с++?
или про алгоритмы на строках?
советую вам изучить С++ тут
понять, как представляются строки
а их обработку уже придумывать самому
а стандартные функции можно посмотреть тут:
std::string
char*
0
Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
06.08.2016, 14:57  [ТС] #22
Krock21rus, спасибо большое за помощь.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7045 / 3346 / 452
Регистрация: 04.12.2011
Сообщений: 9,306
Записей в блоге: 5
06.08.2016, 15:36 #23
Цитата Сообщение от Krock21rus Посмотреть сообщение
IGPIGP, прочитайте, пожалуйста, все сообщения
Не нашёл. S3 не должна быть подстрокой S2. Если покажете, где это было буду благодарен.

Не по теме:

А что раздражает в теме

Цитата Сообщение от Krock21rus Посмотреть сообщение
тут есть тема
найти минимум в массиве
так вот там всё кипит
?

0
Krock21rus
74 / 74 / 27
Регистрация: 18.11.2013
Сообщений: 373
Завершенные тесты: 2
06.08.2016, 17:09 #24
спойлеры тут
Цитата Сообщение от IGPIGP Посмотреть сообщение
S2 != S3
этого не достаточно
Цитата Сообщение от IGPIGP Посмотреть сообщение
S3 не должна быть подстрокой S2
наоборот

на тесте

a*100000
aa
a

так же
будет работать очень долго

Добавлено через 1 минуту
Цитата Сообщение от IGPIGP Посмотреть сообщение
А что раздражает в теме
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
я просто комментов и саму тему не читал, но раз у вас до сих пор возникают вопросы, то значит у вас что то не получается и поэтому я и написал, что надо использовать replace
отсылка в тему, в которой до сих пор возникают вопросы
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7045 / 3346 / 452
Регистрация: 04.12.2011
Сообщений: 9,306
Записей в блоге: 5
06.08.2016, 18:16 #25
Цитата Сообщение от Krock21rus Посмотреть сообщение
наоборот
ну как-то около чего-то там...
Цитата Сообщение от Krock21rus Посмотреть сообщение
до сих пор
Понятно.
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
06.08.2016, 18:27 #26
Цитата Сообщение от Nigmatulin Посмотреть сообщение
посоветовать литературу, которая ориентирована на работу со строками
Гасфилд Д. "Строки, деревья и последовательности в алгоритмах"
Билл Смит "Методы и алгоритмы вычислений на строках"
1
Изображения
  
Krock21rus
74 / 74 / 27
Регистрация: 18.11.2013
Сообщений: 373
Завершенные тесты: 2
06.08.2016, 18:33 #27
Цитата Сообщение от Nigmatulin Посмотреть сообщение
литературу, которая ориентирована на работу со строками
http://e-maxx.ru/algo/
там есть раздел "Строки"
0
06.08.2016, 18:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2016, 18:33

Сформировать новую строку, состоящую из слов исходной строки
задача такая: дана строка состоящая из слов разделенных пробелами сформировать...

Получить из строк новую строку, содержащюю первые N1 символов строки S1 и последнии N2 символов строки S2
помогите написать программу на двух разных классах! 2) Даны целые...

Сформировать новую строку, состоящую из символов цифр исходной строки
Вводится строка. Сформировать новую строку, состоящую из символов цифр исходной...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru