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

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

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

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

06.03.2013, 03:26. Просмотров 515. Ответов 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;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 03:26     Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!"
Посмотрите здесь:
Введите предложение, в данной строке нужно заменить все слова "погрешность" на "ошибка" C++
Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов C++
C++ Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки C++
Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" C++
Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" C++
Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" C++
Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" C++
Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес" C++
C++ по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно
Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") C++
Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
06.03.2013, 11:17     Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" #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;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2013, 12:23     Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" #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;
}
Yandex
Объявления
06.03.2013, 12:23     Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!"
Ответ Создать тему
Опции темы

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