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

Удалить слово из строки - C++

Восстановить пароль Регистрация
 
Yakym
1 / 1 / 0
Регистрация: 04.03.2015
Сообщений: 30
18.11.2015, 11:17     Удалить слово из строки #1
Нужно написать функцию, которая будет удалять слово из строки, которое начинаеться на указаную букву. Заранее спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2015, 11:17     Удалить слово из строки
Посмотрите здесь:

C++ Удалить каждое четное слово из строки
Удалить слово из строки C++
Удалить слово из строки C++
C++ Строки. Удалить указанное слово из текста
Как удалить слово из строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sonyk91
 Аватар для Sonyk91
103 / 103 / 4
Регистрация: 01.10.2012
Сообщений: 1,801
18.11.2015, 11:38     Удалить слово из строки #2
Напишите, что у вас не получилось. Приложите свои наработки в виде кода.
Yakym
1 / 1 / 0
Регистрация: 04.03.2015
Сообщений: 30
21.11.2015, 22:10  [ТС]     Удалить слово из строки #3
Ну для начала, я не могу инициализировать, начинаеться ли слово на ту или иную букву. Пробовал как-то так. Хотел сначала определить, начинаеться ли слово из буквы "a" например,если да-тогда вывести+, если же нет, тогда -. Но оно не работает, как надо(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char** argv) {
    char* str[51];
    
    cin.getline(*str, 50);
    for (int i=0; i<51; i++){
    if (str[i] == " a"){
        cout << "+";
    }
    else
    {
        cout << "-";
    }
    return 0;
    system ("PAUSE");
}
}
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
22.11.2015, 08:25     Удалить слово из строки #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <cctype>
 
char* remove_words(char* s, char ch){
    char* t = s;
    for(char* p = s; *s; *s = *p){
        if(isalpha(*p)){
            if(*p == ch){
                ++p;
                while(isalpha(*p))
                    ++p;
            } else {
                while(isalpha(*p))
                    *s++ = *p++;
            }
            continue;
        }
        ++s;
        ++p;
    }
    return t;
}
 
int main(void){
    char s[] = "ada|apl|go|actor";
 
    std::cout << s << std::endl;
    std::cout << remove_words(s, 'a') << std::endl;
    return 0;
}
Пример работы кода
Yandex
Объявления
22.11.2015, 08:25     Удалить слово из строки
Ответ Создать тему
Опции темы

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