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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Моделирование алгоритмических вычислений на машинах произвольного доступа http://www.cyberforum.ru/cpp-beginners/thread261636.html
Построить программу для машины произвольного доступа, реализующая вычисления следующих функций, и найти их значения для заданных неотрицательных аргументов. Входные данные заносятся в регистры МДД...
C++ Вычисление значений функции Доброго времени суток! Помогите с одной задачей.Надо построить таблицу значений(функция y=ln(x/(x-2))). Если в некоторой точке x функция не определена, то вывести на экран сообщение об этом.Я... http://www.cyberforum.ru/cpp-beginners/thread261632.html
Определить истинные следующие утверждения: C++
Определить истинные следующие утверждения: a) «любое выражение в Си может быть преобразован в оператор добавлением к нему точки с запятой (;)» b) «пустой оператор в Си - это отсутствие каких-либо...
C++ Вывести на экран последовательность чисел, первая строка которой задается формулой
Вывести на экран последовательность чисел, первая строка которой задается формулой, (m = 0, ..., 10; k = 3, ..., m)
C++ Вычислить значение функции на заданном промежутке с заданным шагом: http://www.cyberforum.ru/cpp-beginners/thread261627.html
Вычислить значение функции на заданном промежутке с заданным шагом: C++
C++ Вычислить произведение Вычислить произведение С++ подробнее

Показать сообщение отдельно
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353

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

22.03.2011, 04:30. Просмотров 864. Ответов 0
Метки (Все метки)

Дан символ 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...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru