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

Преобразовать строку, заменив все вхождения одного слова на другое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наименьшее натуральное число отсутствующее в последовательности http://www.cyberforum.ru/cpp-beginners/thread16885.html
Помогите пожалуйста разобраться с решением следующей задачки. Введите последовательность из n натуральных чисел. Найти наименьшее натуральное число отсутствующее в последовательности. Алгоритм...
C++ Указатели на массив объектов здравствуйте! есть такой код: #include <cstdlib> #include <iostream> using namespace std; class samp { http://www.cyberforum.ru/cpp-beginners/thread16873.html
Нужны полные таблицы кодировок C++
Очень нужны полные таблицы кодировок cp866_dos, win1251, koi-8, unicode, если есть у кого, дайте плиз Заранее спасибо
C++ Вхождение буквы в строку
Дана строка М и символ А.Составить программу коорая подсчитает количество вхождений буквы в строку. #include<iostream.h> #include<conio.h> #include<math.h> #include<string.h> int main() {int...
C++ Проверка на симметричность слова http://www.cyberforum.ru/cpp-beginners/thread16853.html
void main() { char line; printf("vvedite stroku\n"); scanf("%s",line); for (int i=strlen(line)-1,j=0; i!=strlen(line)/2; i--,j++) if (line != line) printf("ne palindrom\n"); else...
C++ Работа со строками на Turbo C Помогите решить задачу на Turbo C! Найти в тексте все слова со спаренными согласными(например, это слова программирование, add, accomodation). Что,никто не знает? подробнее

Показать сообщение отдельно
Lord_Voodoo
Супер-модератор
8588 / 2188 / 61
Регистрация: 07.03.2007
Сообщений: 10,890
Завершенные тесты: 1
27.11.2008, 18:31
ну *str=*st2; некорректно, нужно strcpy(str, st2);
но есть один нюанс, у тебя не подстроку, а всю строку заменит, тебе надо же сканировать строку, вообще, цикл у тебя в функции непонятно зачем

можно так:
Код
#include <iostream>
#include <cstring>
using namespace std;
void zamena(string &str)
{
 string st1 = "gos", st2 = "st";
 while(str.find(st1,0) != -1){
   str.replace(str.find(st1,0), st1.length(), st2);
 }
}
int main()
{
 string str="gos gos.exe gos st st eve pos gos stat";
 cout << "  stroka: " ;
 cout << str<< endl;
 cout << "posle redaktirovaniya: " ;
 zamena(str);
 cout << str<< endl;
 return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru