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

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

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

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

31.03.2014, 14:56. Просмотров 664. Ответов 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"
Посмотрите здесь:

Тестовые файлы: преобразовать строку, удалив из нее все четырехбуквенные слова C++
C++ Преобразовать строку, заменяя каждое слово "this" словом "that".
C++ Ввести строку. Вывести её, заменив цифры на слова ( 0 - "one", 1 - "two", ...)
Написать программу заменяющую точки на "?" C++
C++ Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b"
C++ Написать программу,которая находит все слова,в которых буква "а" встречается больше чем один раз.
C++ Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии
Перебрать все слова длиной не более n, составленные из букв "а" и "b" C++
Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С" C++
Найти все вхождения в строку последовательности символов "сто" и заменить на "100" C++
Удалить из текста все слова в которых буква "а" встречается более двух раз C++
C++ Удалить из текста все слова, оканчивающиеся группой букв "ing" и "ed"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 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
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,113
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
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 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;
}
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6350 / 2997 / 296
Регистрация: 04.12.2011
Сообщений: 8,041
Записей в блоге: 3
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"
Ответ Создать тему
Опции темы

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