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

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

Войти
Регистрация
Восстановить пароль
 
Yakym
1 / 1 / 0
Регистрация: 04.03.2015
Сообщений: 31
#1

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

18.11.2015, 11:17. Просмотров 166. Ответов 3
Метки нет (Все метки)

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

C++ Удалить каждое четное слово из строки
Удалить из строки предпоследнее и последнее слово в с++ C++
Удалить слово из строки C++
Удалить слово из строки C++
C++ Строки. Удалить указанное слово из текста
Удалить каждое четное слово из строки C++
Как удалить слово из строки C++
Удалить слово из строки C++
C++ Удалить слово из строки
Строки. Удалить каждое второе слово C++
Удалить определенное слово из строки C++
C++ Удалить каждое четное слово из строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sonyk91
 Аватар для Sonyk91
104 / 104 / 4
Регистрация: 01.10.2012
Сообщений: 1,854
Завершенные тесты: 1
18.11.2015, 11:38     Удалить слово из строки #2
Напишите, что у вас не получилось. Приложите свои наработки в виде кода.
Yakym
1 / 1 / 0
Регистрация: 04.03.2015
Сообщений: 31
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     Удалить слово из строки
Ответ Создать тему
Опции темы

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