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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 60, средняя оценка - 4.77
sanek158
#1

Замена подстроки в строке - C++

14.04.2012, 19:06. Просмотров 9151. Ответов 5
Метки нет (Все метки)

В строке нужно заменить подстроку aaa на 3(a). Помогите написать код без использования string.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 19:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена подстроки в строке (C++):

Замена подстроки в строке - C++
Дана строка. Заменить все подстроки “xz2” на запятые без подключения дополнительных библиотек. Написал такой код, но выводиться какой-то...

Замена подстроки в строке - C++
Так как не нашел алгоритм стемминга для C++, то пришлось что-то придумывать самому. Так вот есть такой код int i; for(i = 0; i <...

Замена подстроки в строке - C++
здесь у меня такая проблема возникла мне нужно заменить все "were" на "are" но "are" меньше на 1 символ я незнаю как его можно заменить...

Замена подстроки в строке (с пробелами) - C++
вопрос: ввожу все строки и подстроки через gets, но когда начинается замена, пробелы не видит и удаляет по одному символу до пробела? как...

Функция: замена подстроки в строке на заданную строку - C++
Помогите пожалуйста с данной задачей: Реализовать на языке C функцию замены подстроки в строке на заданную строку.

Поиск подстроки в строке и замена её на другую строку - C++
Подскажите пожалуйста как мне поправить ошибку? Написал такую функцию. Всё работает правильно (т.е. он правильно находит подстроку,...

5
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 23:29 #2
Вот держи:
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
# include <vcl.h>
# include <stdio.h>
# include <conio.h>
 
     void main()
     {
     int i=0, j=0;
     clrscr( );
     char *st = new char [101];
     char *st1 = new char [101];
     puts("Vvedite stroku(na angliyskom):");
     gets(st);
     int n=strlen(st);
 
      while (i < n)
      {
         if (st[i] == 'a' && st[i+1] == 'a' && st[i+2] == 'a' )
           {
              st1[j] = '3';
              st1[j+1] = '(';
              st1[j+2] = 'a';
              st1[j+3] = ')';
              j = j+4;
              i = i+3;
           }
         else
           {
              st1[j] = st[i];
              j=j+1;
              i=i+1;
           }
      }
      printf("Poluchennay stroka:\n");
      puts(st1);
      getch();
     }
1
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.04.2012, 23:30 #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
24
25
#include <iostream> 
#include <algorithm>
#include <string>
 
 
using namespace std;
 
int main() 
{ 
    string textline;
    cout << "Please enter a string line:\n";
    getline(cin, textline);
    
    int it = textline.find("aaa", 0);
    while (it != string::npos)
    {
        textline.replace(it, 3, "3(a)");
        it = textline.find("aaa", it);
 
    }
    
    cout << "after replace:\n" << textline << endl;
 
    return 0;
}
0
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 23:40 #4
Цитата Сообщение от panicwassano Посмотреть сообщение
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
#include <iostream> 
#include <algorithm>
#include <string>
 
 
using namespace std;
 
int main() 
{ 
    string textline;
    cout << "Please enter a string line:\n";
    getline(cin, textline);
    
    int it = textline.find("aaa", 0);
    while (it != string::npos)
    {
        textline.replace(it, 3, "3(a)");
        it = textline.find("aaa", it);
 
    }
    
    cout << "after replace:\n" << textline << endl;
 
    return 0;
}
Читали задание ?
Надо без #include <string>!
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.04.2012, 23:41 #5
ага только сейчас
0
sanek158
15.04.2012, 05:23 #6
Цитата Сообщение от 001_alex Посмотреть сообщение
Вот держи:
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
# include <vcl.h>
# include <stdio.h>
# include <conio.h>
 
     void main()
     {
     int i=0, j=0;
     clrscr( );
     char *st = new char [101];
     char *st1 = new char [101];
     puts("Vvedite stroku(na angliyskom):");
     gets(st);
     int n=strlen(st);
 
      while (i < n)
      {
         if (st[i] == 'a' && st[i+1] == 'a' && st[i+2] == 'a' )
           {
              st1[j] = '3';
              st1[j+1] = '(';
              st1[j+2] = 'a';
              st1[j+3] = ')';
              j = j+4;
              i = i+3;
           }
         else
           {
              st1[j] = st[i];
              j=j+1;
              i=i+1;
           }
      }
      printf("Poluchennay stroka:\n");
      puts(st1);
      getch();
     }
Спасибо!
15.04.2012, 05:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 05:23
Привет! Вот еще темы с ответами:

Найти длину максимальной подстроки, такой что в этой подстроке не существует подстроки равной какой-то строке - C++
Не могу решить задачу, я понял саму задачу. Не могу написать код, помогите, плз! У Дроида-На2а есть строка S, и K строк ai. Ваша задача...

Замена подстроки - C++
Есть проблема с программой, которая меняет сокращения don't на do not и т.п . Если сокращение находится с 0 позиции, то функция find() не...

Замена одной подстроки на другую - C++
Есть ли функция, которая может заменить все вхождения подстроки strl на подстроку strl2? Если нет, то как это возможно осуществить? ...

Поиск подстроки в строке - C++
Добрый день всем! Ребята помогите решить такую задачу. Мне нужно в строке char *text = &quot;Help me jax111mackey&quot; получить строку 111 в...


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

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

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