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

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

Войти
Регистрация
Восстановить пароль
 
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
#1

Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" - C++

06.03.2013, 03:26. Просмотров 575. Ответов 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
//Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!"
 
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s,s1=" ",s2,s3,s4;
    int k,d,f,t;
    getline(cin,s);
    s.append (" ");
    d=s.length();
    t=0;
    k=s.find(" ");
        while (k<d)
        {
            s2=s.substr(t,k);
            f=s2.find("bc"); 
            if (f<s2.size()){  s4.append(s2);  
                                s4.append(" ");}
             else           {s3=s2.substr(s2.size()-2,2);
             if (s3=="ad") s4.append (" ! "); else {s4.append(s2); s4.append(" ");}}
             t=k+1;
             k=s.find(" ", k+1);}
             cout<<s4; return 0;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 03:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Введите предложение, в данной строке нужно заменить все слова "погрешность" на "ошибка" - C++
Введите предложение, в данной строке нужно заменить все слова &quot;погрешность&quot; на &quot;ошибка&quot;.

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

2
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
06.03.2013, 11:17 #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
#include <iostream>
#include <cstring>
#include <string>
 
using namespace std;
 
int main()
{
    char s[]="qwerad bcrtyuad  bcasd qwerty";
    char *curPos;
    string s1;
    curPos=strtok(s," ");
    while(curPos!=NULL)
    {
        size_t x;
        x=strlen(curPos);
        if ((strstr(curPos,"bc")==0) && *(curPos+x-2)=='a' && *(curPos+x-1)=='d') s1=s1+'!'+' ';
        else s1=s1+curPos+' ';
        curPos=strtok(NULL," ");
    }
    cout<<s1;
    return 0;
}
1
alsav22
5436 / 4831 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2013, 12:23 #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>
#include <string>
#include <cstdlib>
using namespace std;
 
int main()
{
    string str;
    string temp;
    
    while(cin.peek() != '\n')
    {
        cin >> temp;
        
        if (temp.find("bc") == -1 && !temp.compare(temp.size() - 2, 2, "ad"))
            str.append("! ");
        else
            str.append(temp + " ");
    }
    str.erase(str.end() - 1);
    
    cout << str << endl;
    
    system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 12:23
Привет! Вот еще темы с ответами:

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова &quot;ноль&quot;, &quot;один&quot;...&quot;девять&quot;,...

Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" - C++
Самым самым самым простым способом.

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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