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

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

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

Если введенное с клавиатуры слово встречатеся в строке, то удалить его с++ - C++

03.02.2014, 12:48. Просмотров 323. Ответов 7
Метки нет (Все метки)

Допустим введи строку "мама мыла раму", слово ввели "мыла", нужно удалить его из строки, т.е. результат "мама раму"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 12:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Если введенное с клавиатуры слово встречатеся в строке, то удалить его с++ (C++):

Преобразовать каждое слово в тексте: если слово нечётной длины, то удалить его среднюю букву - C++
Задан текст. Между словами - пробел, за последним символом точка. Вывести текст, предварительно преобразовав каждое слово: если слово...

Найти слово "ТЕКСТ", если такое слово есть,то отпечатать его номер в строке. - C++
В символьной строке, содержащей не более 80 символов, каждые два соседних слова разделены одним пробелом, строка заканчивается символом...

Ввести строку и слово. Вставить введенное слово за пятым словом в строке - C++
Помогите ребят. Нужно написать программу на С++ без использования библиотек <ctype.h>, <string.h> или <stdlib.h>. Ввести строку и...

Ввести строку и слово. Вставить введенное слово за самым коротким словом в строке. - C++
помогите

Если заданное слово встречается в строке, заменить его звездочкой - C++
добый день. есть задача. ввести строку, задать слово, и если это слово встречается в строке, заменить звездочкой. #include "stdafx.h" ...

В каждой второй строке удалить третье слово, если такое есть - C++
Добрый день! Ребята срочно нужна помощь,буду признателен,нужно в С++ разработать программу следующего условия: В каждой второй строке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.02.2014, 12:55 #2
Lilen,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<sstream>
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
int main()
{
    std::string str,word;
    std::getline(std::cin,str);
    std::cout<<"\n Enter the word for remove: ";
    std::getline(std::cin,word);
    std::stringstream ss(str);
    std::vector <std::string> vec;
    for(std::string w;ss>>w;vec.push_back(w));
    vec.erase(std::remove(vec.begin(),vec.end(),word),vec.end());
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<std::string> (std::cout," "));
}
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
03.02.2014, 13:06 #3
cooller_94, ну блин заморы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
void eraseStr(std::string &str, const std::string str2 )
{ std::size_t found = str.find(str2);
  if (found!=std::string::npos)
     str.erase (str.begin() + found, str.begin() + found + str2.size() );
}
int main()
{   std::string a = "0123456789";
    eraseStr(a, "123" );
    std::cout << a << std::endl;
    return 0;
}
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.02.2014, 13:12 #4
soican, Ты удаляешь подстроку, а не слово
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
03.02.2014, 13:19 #5
cooller_94, ну так то да, уж больно злой код какой-то, разобраться можно конечно
0
kampotya
7 / 4 / 1
Регистрация: 21.02.2013
Сообщений: 23
03.02.2014, 13:30 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <Windows.h>
#include <string>
int main () {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL,"rus");
    std::string str, str2;
    std::cout<<"Введите строку:";
    getline(std::cin,str);
    std::cout<<"Введите слово:";
    std::cin>>str2;
    unsigned found = str.find(str2);
    str.erase (found, str2.length());
    std::cout<<str;
    system("pause");
    return 0;
}
вот полегче держите только в консоли замените шрифт на Lucida Console, да и можно вводить русскую строку и слово
1
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.02.2014, 13:39 #7
kampotya, Если в строке будут несколько слов для удаления, то удалит только первое.
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
03.02.2014, 14:06 #8
Цитата Сообщение от cooller_94 Посмотреть сообщение
C++
1
2
std::cout<<"\n Enter the word for remove: ";
std::getline(std::cin,word);
я бы все же сделал через std::cin >> word; дабы не считывало дальше пробела

Добавлено через 15 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
int main()
{
    std::string userString;
    std::cout << "Input the string: " << std::endl;
    std::getline(std::cin, userString);
 
    std::string deleteWord;
    std::cout << "Word: ";
    std::cin >> deleteWord;
 
    size_t wordPosition;
    while ((wordPosition = userString.find(deleteWord)) != std::string::npos) {
        userString.erase(wordPosition, deleteWord.length() + 1);
    }
    std::cout << "Result string: " << userString << std::endl;
    
    std::system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 14:06
Привет! Вот еще темы с ответами:

Вывести предложения, которые содержат введенное с клавиатуры слово - C++
Никак не могу написать программу которая считывает текст вводимый с клавиатуры и выводит на экран только предложения, содержащее введенное...

Поиск одинаковых слов и замена на слово введенное с клавиатуры - C++
Добрый вечер. Помогите написать программу которая ищет в введенной строке одинаковые слова и меняет на слово введенное с клавиатуры (любых...

удалить введенное слово из файла - C++
Препод вводит предложение , оно записывается в файл , после чего вводит слово и оно должно удалиться из файла. На что меня хватило: ...

Определить, сколько раз введенное с клавиатуры слово встретилось в файле - C++
Составить программу, которая считывает текст из файла и определяет,сколько раз введенное с клавиатуры слово встретилось в файле, результат...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.02.2014, 14:06
Ответ Создать тему
Опции темы

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