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

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

Войти
Регистрация
Восстановить пароль
 
Nike0
6 / 6 / 0
Регистрация: 29.11.2009
Сообщений: 55
#1

Из введенной строки исключить слова, содержащие заданную букву - C++

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

Доброго времени суток, форумчане. Как и большинство подобных задач про строки на этом форуме, моя задача состоит из 3 задач, две из которых уже решены. Третье задание заключается в том, чтобы из введенной строки исключить слова, содержащие, например, букву 'i' , и потом то что осталось, вывести на экран. Если не сложно, то используйте стринг, а то я с чаром на Вы =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 11:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из введенной строки исключить слова, содержащие заданную букву (C++):

В строке указать слова содержащие заданную букву - C++
Дан массив символов, представляющих собой текст. Указать в нем те слова, которые содержат заданную с клавиатуры букву

Найти слова, начинающиеся и оканчивающиеся на одну и ту же букву; слова, содержащие букву, встречающуюся N раз - C++
Пусть задано множество строк. Вывести: а) слова, начинающиеся и оканчивающиеся на одну и ту же букву б) слова, которые содержат букву,...

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

Вывести только те слова из строки, которые начинаются и оканчиваются на заданную букву - C++
Вывести только те слова сообщения, которые начинаются и оканчиваются на заданную букву. Где у меня проблема? #include...

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

Для строки объединить в отдельную строку все слова, имеющие заданную букву, разделив их одним пробелом - C++
Доброго времени суток. Никак не получается отладить данную программу с учётом того, что буквы разного регистра неразличимы. Вот код с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
28.10.2010, 11:54 #2
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
#include <string>
#include <iostream>
using namespace std;
int main( ) 
{
   char c;
   string s2;
   string res="";
   cout<<"Enter string:"<<endl;
   getline(cin,s2);
   cout<<"Searching char: ";
   cin>>c;
   int P,Ch;
   P=s2.find(' ');
   Ch=s2.find(c);
   while(Ch!=-1&&P!=-1)
   {
      if(Ch>P)
    res=res+s2.substr(0,P+1);
      s2 = s2.substr ( P+1 , s2.length()-P-1 );
      P=s2.find(' ');
      Ch=s2.find(c);
   }
   if(Ch==-1)res=res+s2;
   cout<<"Result:"<<endl<<res<<endl;
   system("pause");
   return 0;
}
Например, вот так будет выбрасывать слова в которых встречается заданная буква.
Запятые и точки игнорируются.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
28.10.2010, 11:56 #3
А я ещё со стриногом не очень знаком...
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
#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
    char str[256];
    cout<<"Введите строку:"<<endl;
    cin.getline(str,sizeof(str));
    bool sl=false;
    int numns=0;
    for (int i=0;;i++)
    {
        if (str[i]=='i'||str[i]=='I')
            sl=true;
        if (str[i]==' '||str[i]=='\t'||str[i]=='\0')
        {
            if (!sl)
                for (int j=numns;j<i;j++)
                    cout<<str[j];
            sl=false;
            numns=i;
            if (str[i]=='\0') break;
        }
    }
    return 0;
}
Хотя ты можешь заменить успешно заменить char[] на string.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
28.10.2010, 13:47 #4
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(){
    std::string buf;
    char ch;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::cout << "Character: ";
    std::cin >> ch;
 
    std::istringstream ist(buf);
    std::ostringstream ost;
    while ( ist >> buf )
        if ( buf.find(ch) == std::string::npos )
            ost << buf << ' ';
    std::cout << "Result: " << ost.str() << std::endl;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2010, 13:47
Привет! Вот еще темы с ответами:

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

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

Создать новые строки, содержащие цифры, буквы, а также знаки пунктуации, выбранные из введенной строки - C++
Ввести с помощью клавиатуры строку произвольной длины. Создать новые строки, содержащие цифровые, буквенные символы, а также знаки...

Найти слова, содержащие букву “d” - C++
Найти слова, содержащие букву “d”


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

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

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