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

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

Восстановить пароль Регистрация
 
orlando
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 8
11.11.2010, 18:10     Удаление слова из строки #1
Помогите пожалуйста, немогу написать программму:
Дана строка из 20 слов (словом считается любой набор букв, за которым
следует пробел). Вывести на печать все слова этой строки, отличные от слова
hello.
Заранее огромное спасибо..)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2010, 18:10     Удаление слова из строки
Посмотрите здесь:

C++ удаление из строки слова
C++ Строки. Удаление слова
Удаление слова из строки C++
Удаление слова из строки C++
удаление слова из строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
11.11.2010, 19:27     Удаление слова из строки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
int main()
{
    int i;
    std::string s1("function head kon explic left right ololo hello ahaha blabla");
    std::string s2("hello");
    i=s1.find(s2);
    if (i!=std::string::npos)
    {
        s1.erase(i,s2.size());
        std::cout << s1;
    }
    return 0;
}
orlando
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 8
11.11.2010, 19:35  [ТС]     Удаление слова из строки #3
asics, большое спасибо..)
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.11.2010, 20:05     Удаление слова из строки #4
Цитата Сообщение от asics Посмотреть сообщение
std::string s1("function head kon explic left right ololo hello ahaha blabla");
а если
C++
1
std::string s1("function hello head kon explic left right ololo hello ahaha blabla");
фигня получится?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
11.11.2010, 20:09     Удаление слова из строки #5
easybudda, О да,и что же делать ?
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
11.11.2010, 20:18     Удаление слова из строки #6
C
1
2
3
4
5
6
7
8
9
10
#include "iostream.h"
 
void main()
{
   char slovo[80];
   while (1)
   {
      scanf("%s", slovo);
      if(strcmp("hello", slovo)) printf("%s ", slovo);
   }
}
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2010, 20:21     Удаление слова из строки
Еще ссылки по теме:

С++ удаление слова из строки C++
Удаление последнего слова из строки C++
C++ Удаление слова из строки

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.11.2010, 20:21     Удаление слова из строки #7
Цитата Сообщение от asics Посмотреть сообщение
О да,и что же делать ?
ну во-первых можно в цикле слова искать (кстати, в Вашем варианте есть ещё один момент - если слово не найдётся, то вообще ничего не выведется), то есть как-то так:
C++
1
2
3
...
while ( ( i = s1.find(s2) ) != std::string::npos )
  s1.erase(i,s2.size());
Но раз по заданию все слова просто вывести надо, я бы так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <sstream>
 
int main(){
    const std::string exclude("hello");
    std::string buf;
 
    std::cout << "String: ";
    std::getline(std::cin, buf);
 
    std::istringstream ist(buf);
 
    std::cout << "Result: ";
    while ( ist >> buf )
        if ( buf != exclude )
            std::cout << buf << ' ';
    std::cout << std::endl;
 
    return 0;
}
Yandex
Объявления
11.11.2010, 20:21     Удаление слова из строки
Ответ Создать тему
Опции темы

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