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

Поиск и замена символов в буквенной строке

30.11.2020, 16:44. Показов 1149. Ответов 0

Author24 — интернет-сервис помощи студентам
Здраствуйте! Питался написать код, взяв за основу пример из учебника. Я знаю, что тут много лишнего, но, вроде код написан более менее правильно.
Дано буквенную строку, содержащую последовательность символов s0, ..., sn ....
1. Определить общее количество вхождений в последовательность любой группы букв, которая
состоит из символов "a", "b", "c" - то есть, "aaa", "aab", "aac", "aba", "abb",
"Abc", "aca", "acb", "acc" ... "ccc".
2. Заменить каждую группу букв, состоящая из символов "a", "b", "c" - то есть, "aaa",
"Aab", "aac", "aba", "abb", "abc", "aca", "acb", "acc" ... "ccc" парой звездочек "**".


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
[CPP]#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
 
int Count(char* str)
{
    if (strlen(str) < 3)
        return 0;
    int k = 0;
    for (int i = 0; str[i + 1] != 0; i++)
        if (str[i] == 'a' && 'b' && 'c')
            k++;
    return k;
}
char* Change(char* str)
{
    if (strlen(str) < 3)
        return str;
    char* tmp = new char[strlen(str) * 4 / 3 + 1];
    char* t = tmp;
    tmp[0] = '\0';
    int i = 0;
    while (str[i + 2] != 0)
    {
        if (str[i] == 'a' && 'b' && 'c')
        {
            strcat(t, "**");
            t += 2;
            i += 3;
        }
        else
        {
            *t++ = str[i++];
            *t = '\0';
        }
    }
    *t++ = str[i++];
    *t++ = str[i++];
    *t = '\0';
    strcpy(str, tmp);
    return tmp;
}
int main()
{
    char str[101];
    cout << "Enter string:" << endl;
    cin.getline(str, 100);
 
 
    cout << "String contained " << Count(str) << " groups of 'a','b','c'" << endl;
    char* dest = new char[151];
    dest = Change(str);
    cout << "Modified string (param) : " << str << endl;
    cout << "Modified string (result): " << dest << endl;
    return 0;
 
 
    return 0;
}
[/CPP]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2020, 16:44
Ответы с готовыми решениями:

Поиск и замена символов в строке
Нужно написать программу в Borland. Задача: В строке введенной пользователем подсчитайте число...

Поиск и замена слов в массиве символов (строке)
Привет, я тут практикуюсь с массивами строк. Я сделал в классе String метод findAndReplace, который...

Операции в строке: поиск, замена, удаление символа в строке
Доброго здравия! В ассемблере совсем новичок, поэтому прошу помощи. Программа должна получать...

Замена символов в строке
Подскажите пожалуйста, каким образом можно заменить символы в строке! Например: Исходная...

0
30.11.2020, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2020, 16:44
Помогаю со студенческими работами здесь

Замена символов в строке
Здравствуйте. Мне нужно сделать такое задание. //Найти в строке символ o и заменить его символом &lt;...

Замена символов в строке
Требуется заменить некоторые символы в строке на другие. Никакой математической закономерности в...

Замена символов в строке
Есть проблема. Я выдергиваю запросом номера документов и если номер создоваемого мной документа...

Замена символов в строке
Помогите решить задачу. Дана строка. Нужно заменить символ &quot;s&quot; на &quot;svb&quot;.

Замена символов в строке
Каким образом выполнять замену в строке. Очень много читал но ничего не понял. Есть какой нибудь...

Замена символов в строке
1. Заменить все последовательности более чем из одного пробела на один пробел, за исключением тех...


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

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