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

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

Войти
Регистрация
Восстановить пароль
 
Макс_Фомин
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 10
#1

Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love" - C++

31.03.2014, 14:56. Просмотров 723. Ответов 4
Метки нет (Все метки)

Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love". Например, для входной строки
I hate you, you dodo!
программа должна вывести следующее: I love you, you love!
Конечно, результат часто будет получаться бессмысленным. Так, для входной строки
John will run home.
будет выведено: Love love run love.
Если четырехбуквенное слово начинается с заглавной буквы, оно должно быть заменено словом "Love", а не "love". Регистр остальных букв, кроме первой, проверять не нужно. Словом называется любая строка, состоящая из букв и ограниченная с каждой стороны пробелом, символом конца строки или другим символом, не являющимся буквой. Программа должна повторять эти действия до тех пор, пока пользователь не захочет закончить работу.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 14:56     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love"
Посмотрите здесь:

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

Преобразовать строку, заменяя каждое слово "this" словом "that". - C++
подскажите в чем ошибка задание:Преобразовать строку, заменяя каждое слово "this" словом "that". #include <iostream> #include...

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

Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С" - C++
Ввести текст состоящий не менее чем из 15 слов. Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С"

Удалить из текста все слова в которых буква "а" встречается более двух раз - C++
Все слова, в которых буква "а" встречается более 2-х раз, удалить из текста. Вывести полученную строку на экран, Если такой буквы нет,...

Написать программу заменяющую точки на "?" - C++
Написать программу заменяющую точки на "?" Напишите пожалуйста программу в Си

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
821 / 488 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
31.03.2014, 15:33     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love" #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
 
int main()
{
    const int maxLength = 128;
    char exit;
    do
    {
        char str[maxLength]="";
        cin.get(str,maxLength);
        int length = strlen(str);
        int i = 0;
        while (i<length)
        {
            if (isalpha(str[i]))
            {
                int j = i;
                while (i<length && isalpha(str[i]))
                    ++i;
                if (i-j==4)
                {
                    if (!islower(str[j]))
                        str[j] = 'L';
                    else str[j] = 'l';
                    str[j+1]='o';
                    str[j+2]='v';
                    str[j+3]='e';
                }
            }
            else ++i;
        }
        cout <<str <<endl
             <<"Continue? (y/n): ";
        do
            cin >> exit;
        while (exit!='y' && exit!='n');
        cin.ignore();
    }
    while (exit=='y');
    return 0;
}
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
31.03.2014, 16:02     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love" #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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
 
std::vector<std::string> split(const std::string& source)
{
    std::vector<std::string> result;
 
    std::stringstream stream(source);
    std::string str;
 
    while (stream >> str)
        result.push_back(str);
 
    return result;
}
 
int main()
{
    std::string inputStr;
    std::vector< std::string > vecStr;
 
    std::cout << "input string : ";
    while(true)
    {
       std::getline(std::cin, inputStr);
 
       vecStr = split(inputStr);
 
       for(size_t i = 0; i < vecStr.size(); ++i)
         if(vecStr[i].size() == 4 && i == 0)
            vecStr[i] = "Fuck";
         else if(vecStr[i].size() == 4 && i != 0)
            vecStr[i] = "fuck";
 
         std::for_each(vecStr.begin(), vecStr.end(), [](std::string s){ std::cout << s << " "; }); std::cout << std::endl;
 
         std::cout << '\n' << "input string : ";
    }
    return 0;
}
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
31.03.2014, 16:20     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love" #4
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
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <cctype>
 
int main()
{
    std::string str("Ffff, df dddd 54.   Gggg."), cstr = str;
    int wlen = 4;
    std::replace_if(cstr.begin(), cstr.end(), [](char const c){return ispunct(c);}, ' ');
    std::stringstream sstr(cstr);
    std::string::iterator it(str.begin());
    while(sstr >> cstr)
    {
        it = std::find_if(it, str.end(), [](char const c){return !ispunct(c) && !isspace(c);});
        if(wlen == cstr.size())
        {
            str.replace(it - str.begin(), wlen, std::string(isupper(cstr.at(0)) ? "L" : "l") + "ove");
        }
        it += cstr.size();
    }
    std::cout << str << "\n\n";
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 16:41     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love"
Еще ссылки по теме:

Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" - C++
В чем ошибка? //Все слова, не содержащие &quot;bc&quot; и заканчивающиеся на &quot;ad&quot; заменить на &quot;!&quot; #include &lt;iostream&gt; #include &lt;string&gt; ...

Ввести строку. Вывести её, заменив цифры на слова ( 0 - "one", 1 - "two", ...) - C++
Ввести строку. Вывести её, заменив цифры на слова: ( 0 - &quot;one&quot;, 1 - &quot;two&quot;, ...)???

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

Найти все вхождения в строку последовательности символов "сто" и заменить на "100" - C++
Дана строка символов. Найти все вхождений последовательностей символов &quot;сто&quot; и заменить на &quot;100&quot;

Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии - C++
3.Написать программу, вводите фамилию, имя и отчество одной строкой. Определить длину каждого слова. Удалить все буквы &quot;а&quot; и &quot;о&quot; с фамилии....

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


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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,486
Записей в блоге: 4
31.03.2014, 16:41     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love" #5

Не по теме:

Хорошую строчку придумал для замены:
char str[] =
"If you my friend is realy lover,\
You need the woman, right to help her."


Yandex
Объявления
31.03.2014, 16:41     Напишите программу, считывающую строку текста и заменяющую все четырехбуквенные слова словом "love"
Ответ Создать тему
Опции темы

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