Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 17
1

Удалить из строки первое вхождение заданной подстроки

24.02.2018, 06:36. Просмотров 1471. Ответов 7
Метки нет (Все метки)

Найти ошибки в коде с++ удалить из строки первое вхождение буквосочетание 'while'

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
60
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
int main()
{
    char S[512];
    char X[6];
    char str[6];
    memset(S, 0, 512);
    memset(X, 0, 6);
    memset(str, 0, 6);
    strcpy_s(S, "I met my old friend while I was travelling. I hope to see her while she is there. Free using");
    /*task1_C();*/
    int pos = -1;
    
    
    strcpy_s(str, "while");
    pos = strstr(S, str) - S;
    if (pos > 0) {
        strcpy_s(S + pos, const char 512, S + pos + strlen(str));
        /*errno_t strcpy_s(*(S+pos, rsize_t(S[512] + pos + strlen(str)));*/
    }
 
 
    
    strcpy_s(str, "f");
    pos = strstr(S, str) - S;
    if (pos > 0) {
        char buffer[512];
        memset(buffer, 0, 512);
        strncpy_s(buffer, 0, pos + strlen(str));
        strcat_s(buffer, "or");
        strcat_s(buffer, S + pos + strlen(str));
        strcpy_s(S, buffer);}
 
 
 
    strcpy_s(str, ".");
    pos = strstr(S, str) - S;
    if (pos > 0) {
        strncpy_s(X, S + pos + strlen(str),size_t (6));
    }
 
 
 
    strcpy_s(str, "ing");
    int count = 0;
    char tmp[512];
    memset(tmp, 0, 512);
    strcpy_s(tmp, S);
    pos = strstr(tmp, str) - tmp;
    while (pos > 0) {
        count++;
        strcpy_s(tmp, tmp + pos + strlen(str));
        pos = strstr(tmp, str) - tmp;
    }
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2018, 06:36
Ответы с готовыми решениями:

Найти первое вхождение в строку заданной подстроки
Без использования функций стандартной библиотеки выполнить задание: найти первое вхождение в строку...

Удалить из строки каждое вхождение подстроки
Удалить из строки s каждое вхождение подстроки s1. На С++ Дублирование тем запрещено правилами...

Удалить из строки первое вхождение буквосочетание 'not'
Заданная строка S. Превратить S следующим образом: 1) Удалить из S первое вхождение буквосочетание...

Даны две строки. Удалить в первой строке первое вхождение второй строки
Посмотрите пж ребят и напишите , правильно ли я написал. int main() { setlocale(LC_ALL,...

7
267 / 197 / 162
Регистрация: 02.05.2017
Сообщений: 790
24.02.2018, 08:39 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
 
using namespace std;
 
int main(){
    string s;
    cin >> s;
    s.erase(s.find("while"),5);
    cout << s;
    return 0;
}
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 17
24.02.2018, 22:05  [ТС] 3
Не помагает
А можно с моим кодом целиком
0
267 / 197 / 162
Регистрация: 02.05.2017
Сообщений: 790
25.02.2018, 18:32 4
ДаринаЛ, С твоим кодом лучше я заново все сделаю Если надо - кидай фулл задание
0
1732 / 1326 / 1406
Регистрация: 28.10.2016
Сообщений: 4,265
25.02.2018, 18:37 5
ДаринаЛ, вы подключаете string, но всё равно используете массив char. Почему? Зачем?
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 17
26.02.2018, 06:13  [ТС] 6
Заданий рядок S. Перетворити S наступним чином:
1) видалити з S перше входження буквосполучення ‘while’;
2) після першої букви ‘f’ вставити буквосполучення ‘or’;
3) в рядок X скопіювати 6 символів з рядка S після першої крапки;
4) підрахувати кількість буквосполучень ‘ing’.
5) Для введення заданий рядок, що складається з декількох слів. Знайти характеристику кожного слова. Впорядкувати слова речення за зростанням їх характеристик. Характеристика слова – це довжина максимальної серії, що міститься в ньому. Серією називаються слова в однобуквеному алфавіті.
0
1732 / 1326 / 1406
Регистрация: 28.10.2016
Сообщений: 4,265
26.02.2018, 10:21 7
ДаринаЛ, из правил форума
1.4 Официальными языками форума являются русский и английский языки. Размещение сообщений на других языках запрещено.
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 17
26.02.2018, 18:40  [ТС] 8
Заданная строка S. Преобразовать S следующим образом:
1) удалить из S первое вхождение буквосочетание 'while';
2) после первой буквы "f" вставить буквосочетание 'or';
3) в строку X скопировать 6 символов из строки S после первой точки;
4) подсчитать количество буквосочетаний "ing".
5) Для ввода заданная строка, состоящая из нескольких слов. Найти характеристику каждого слова. Сортировать слова предложения по возрастанию их характеристик. Характеристика слова - это длина максимальной серии, содержащейся в нем. Серией называются слова в однобуквенном алфавите.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2018, 18:40

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

Найти первое вхождение подстроки и передать указатель
Есть cимвoльная cтрока и подcтpока. Нужно найти пepвоe вхождение подстроки в строку и передать...

Первое вхождение подстроки в строку (Алгоритм Боуера-Мура)
Разработать программу, которая в строке с N>255 символов находит первое вхождение подстроки с...

Удалить из строки первое и последнее вхождение заданной подстроки.
1.Написать программу, удаляющую из строки первое и последнее вхождение заданной подстроки....

Написать программу, удаляющую из строки первое и последнее вхождение заданной подстроки
2.*Написать программу, удаляющую из строки первое и последнее вхождение заданной подстроки. 3.*Все...


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

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

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