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

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

Восстановить пароль Регистрация
 
OLLEGATOR
Linux-оид
 Аватар для OLLEGATOR
115 / 64 / 3
Регистрация: 15.02.2011
Сообщений: 353
22.03.2011, 04:30     После каждого вхождения символа C в строку S вставить строку S0 #1
Дан символ C и строки S, S0. После каждого вхождения символа C
в строку S вставить строку S0.



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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <string.h>
 
using namespace std;
const int N=30;
 
void Vstavka_Stroki(char *S, char *S0, char *c);
 
 
int main()
{
 
    char *S=new char [N*2];
    char *S0=new char [N];
    char *c=new char [N];
 
    cout<<"Введите Строчку для обработки: ";
    cin.getline(S,N);
 
    cout<<"Какую строчку будем вставлять: ";
    cin.getline(S0,N);
 
    cout<<"После какого символа вставляем строчку: ";
    cin.getline(c,N);
 
    Vstavka_Stroki(S,S0,c);
 
    cout<<"\033[01m"<<"\n_____________________________________________________________________\n"<<"\033[00m";
    cout<<"Теперь строчка выглядит так: \n"<<S<<"\n";
 
}
 
void Vstavka_Stroki(char *S, char *S0, char *c){
 
    char *ss=S;
 
    char *t;
 
    char *r=new char [N*2];
 
    strcat(r,"");
 
    while(t=strstr(S,c)){
 
        strncat(r,S,strlen(S)-strlen(t)+strlen(c));
 
        strcat(r,S0);
 
        strcat(r,S+strlen(S)-strlen(t)+strlen(c));
 
        S=t+strlen(c);
 
    }
 
    strcpy(ss,r);
 
    delete [] r;
 
}
Если одно вхождение то работает всё чётко..если два глюк с повторением...укажите на ошибку pls...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 04:30     После каждого вхождения символа C в строку S вставить строку S0
Посмотрите здесь:

Разработать рекурсивную функцию, которая после каждого вхождения символа a в строку s добавляет символ b C++
C++ После каждого слова в строке S1 вставить строку S2
Дана строка символов и некоторый символ sym. Сформируйте новую строку, вставив после каждого вхождения символа sym запятую. C++
C++ Функция разбивает строку на две части: до первого вхождения заданного символа и после него
В исходную строку добавьте после каждого символа его номер по порядку в алфавите C++
C++ Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 C++
Дан символ С и строки S, S0. После каждого вхождения символа С в строку S вставить S0 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 20:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru