Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 27.02.2016
Сообщений: 33
1

Заменить в строке последнее вхождение данной подстроки на другую подстроку

27.02.2016, 14:34. Показов 1618. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны строки s,s1 и s2. Заменить в строке S последнее вхождение строки S1 на строку S2 через char
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2016, 14:34
Ответы с готовыми решениями:

Как эффективно заменить подстроку в строке на другую подстроку?
И если у подстрок разная длина? есть проверенный готовый способ?

Заменить в строке S последнее вхождение строки S1 на строку S2
2)Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку...

Заменить в строке S последнее вхождение строки S1 на строку S2
Не понимаю как это реализовать на плюсах

STL. Заменить в строке S все вхождения подстроки S1 на подстроку S2
Даны строки S, S1 и S2 вводимые с клавиатуры. Требуется заменить в строке S все вхождения...

4
Модератор
Эксперт С++
13678 / 10888 / 6465
Регистрация: 18.12.2011
Сообщений: 29,056
27.02.2016, 14:55 2
Заменить в строке все вхождения подстроки str1 на подстроку str2
1
0 / 0 / 1
Регистрация: 27.02.2016
Сообщений: 33
27.02.2016, 15:56  [ТС] 3
нужно именно через char и нужно только последнее вхождение
0
0 / 0 / 1
Регистрация: 27.02.2016
Сообщений: 33
28.02.2016, 17:51  [ТС] 4
помогите пожалуйста
0
Модератор
Эксперт С++
13678 / 10888 / 6465
Регистрация: 18.12.2011
Сообщений: 29,056
28.02.2016, 20:02 5
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<cstdlib>
#include <cstring>
using namespace std;
 
int main()
{
    char str[]="aaa bbbb 111111 bbbb ccccc";
    char str1[]="bbbb",str2[]="ddddd",result[100];
    char *p,*pold=NULL;
    p=str-1;
    while( (p=strstr(p+1,str1))!=NULL)
        pold=p;
    if(pold!=NULL)
    {
        *pold=0; // конец строки, которая не меняется
        strcpy(result,str); // скопировали этот кусок
        strcat(result,str2); // добавили str2
        strcat(result,pold+strlen(str1)); // добавили остаток
    }
    cout<<result;
    system("pause");
    return 0;
}
0
28.02.2016, 20:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2016, 20:02
Помогаю со студенческими работами здесь

Заменить в строке все вхождения подстроки str1 на подстроку str2
заменить в строке все вхождения подстроки str1 на подстроку str2

Заменить в строке все вхождения подстроки str1 на подстроку str2
Заменить в строке все вхождения подстроки strl на подстроку str2.

Заменить в строке все вхождения подстроки str1 на подстроку str2
заменить в строке все вхождения подстроки str1 на подстроку str2

В строке указанную подстроку заменить на другую строку
вам вводят строку,затем подстроку.Если подстановка есть в веденной строке вывести да иначе нет....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru