Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
IsoOmena
Сообщений: n/a
#1

Замена символа на строку. - C++

21.02.2011, 11:43. Просмотров 597. Ответов 2
Метки нет (Все метки)

Задача заключается в следующем: необходимо заменить "ХХХ", независимо от колличества Х-ов, на "Siberia".
Пробовала делать так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str ("Cogratulations Mrs.<name>, you and Mr.<name> are the lucky recipients of a trip for two to XXXXXX. Your trip to XXX is already scheduled");
 
size_t found;
 
found=str.find_first_of("X");
  while (found!=string::npos)
  {
         char c[8] = "Siberia";
        str[found]= *c;
 
    found = str.find_first_of("X",found+1);
   
  }
 
cout << str << endl;
 
system("PAUSE");
return 0;
}
но в итоге "ХХХ" заменяются только на первую букву, т.е. на "S", а как сделать так, чтобы заменялось на строку? Может, пробовать через другой оператор?

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2011, 11:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена символа на строку. (C++):

Замена символа пробела на заданную строку - C++
здрасти, со строками у меня как то плохо все, как заменить все символы пробелов на строку &quot; !##! &quot;? int main() { char probel = '...

Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке - C++
Помогите пожалуйста! Ввести строку символов. Создать новую строку следующим образом: с начало три символа первой строки, потом эти же три...

Перед каждым вхождением заданного символа в строку S вставить строку S0 - C++
Дан символ C и строки S, S0 . Перед каждым вхождением символа C в строку S вставить строку S0 .

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с...

Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0 - C++
Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0. Помогите пожалуйста с реализацией на Си

замена символа - C++
Здрасти. почиму не работает такой вариант? char* b=&quot;123456&quot;; *(b+2)='*'; что нужно изменить чтобы заработало?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.02.2011, 11:52 #2
Вам необходимо "расширить\ужать" строчку свою. Довольно логичный вариант - взять часть строчки ДО вашего ХХХ, скопировать в новую, прибавить вашу Siberia, Затем взять в изначальной сточке 2ю часть ПОСЛЕ ХХХ, и прибавить к результирующей строчке. Используйте substr()
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
21.02.2011, 12:17 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str = "Cogratulations Mrs.<name>, you and Mr.<name> are the lucky recipients"
                 " of a trip for two to XXXXXX. Your trip to XXX is already scheduled";
 
 
    size_t foundf, foundl;
 
    while( (foundf = str.find_first_of("X")) != string::npos)
    {
        foundl = str.find_first_not_of("X", foundf);
        str.replace(foundf, foundl - foundf, "Siberia");
    }
 
    cout << str << endl;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2011, 12:17
Привет! Вот еще темы с ответами:

Замена символа - C++
Здравствуйте!!! помогите решить задачку! Дано строка символов оттуда надо убрать букву &quot;А&quot; и вместо буквы &quot;Е&quot; заменить буквой &quot;Э&quot;. ...

замена символа - C++
Собственно учу си по манам из инетов, есть вот такой пример #include &lt;stdio.h&gt; void sp_to_dash(const char *str); int main(void)...

Замена символа в строке - C++
Подскажите пожалуйста почему код не работает корректно? #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cstring&gt; #include...

Замена символа в файле - C++
Есть текстовый файл. Необходимо считать и заменить все пробелы на * и записать это в другой файл. Как реализовать замену?


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

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

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