0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 1
1

Удалить из строки символов все слова нечетной длины

07.05.2018, 19:53. Показов 2038. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать на языке С++, желательно простым языком, чтобы преподавательница не придралась
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2018, 19:53
Ответы с готовыми решениями:

Удалить из текста все слова нечетной длины
Помогите пожалуйста с задачей 1.Задан текст между словами пробел. Удалить из него все слова...

Удалить из строки все слова нечетной длины
в общем столкнулся с проблемой при решении задач по строкам и хоть убейся не могу её решить. задача...

Удалить из строки все слова нечетной длины
Задание такое: Дана строка символов. Удалить из нее все слова нечетной длины. Слова отделяются друг...

Удалить из строки слова нечетной длины
Дана строка символов. Удалить из нее все слова нечетной длины. Слова отделяются друг от друга одним...

2
34 / 34 / 37
Регистрация: 21.06.2012
Сообщений: 152
07.05.2018, 23:22 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
#include <iostream>
#include <string>
#include <iterator>
#include <algorithm>
#include <functional>
#include <sstream>
 
auto remove_odd_size_words(const std::string && text) -> std::string
{
    std::istringstream buf_in{text};
    std::ostringstream buf_out;
    std::copy_if(std::istream_iterator<std::string>{buf_in},
                     std::istream_iterator<std::string>{},
                     std::ostream_iterator<std::string>{buf_out, " "},
                     std::bind([](const std::string &str) -> bool { return (~str.size()) & 1; }, std::placeholders::_1));
    return buf_out.str();
}
 
int main()
{
    std::string text{"word words moreword"};
    std::cout << remove_odd_size_words(std::move(text)) << std::endl;
    return 0;
}
0
2851 / 1999 / 987
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
08.05.2018, 09:27 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
#include <iostream>
#include <cctype>
#include <algorithm>
#include <cstring>
 
 
int main()
{
    char str[] = "a, bb, ccc, dddd, eeeee", res[512];
    for (char* p1 = str, *p2 = res; *p2 = *p1; ++p1, ++p2)
    {
        if (isalpha(*p1) && (p1 == str || !isalpha(p1[-1])))
        {
            auto p = std::find_if_not(p1, p1 + strlen(p1), ::isalpha);
            if ((p - p1) % 2 != 0)
            {
                p1 = p - 1;
                --p2;
            }
        }
    }
 
    std::cout << res << std::endl;
 
}
0
08.05.2018, 09:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2018, 09:27
Помогаю со студенческими работами здесь

Удалить из строки символов каждое слово нечетной длины
Напишите программу, которая удаляет из строки символов каждое слово нечетной длины. Слова...

Удалить из строки символов каждое слово нечетной длины
помогите решить. 16. Напишите программу, которая удаляет из строки символов каждое слово ...

Исправить 3адачу: дана строка длиной n символов, Вывести все слова, отличные от последнего слова, предварительно удалив из слов нечетной длины его сре
дана строка, между словами не менее одного пробела, в конце точка. Вывести все слова, отличные от...

Напечатать все слова, но если слово нечетной длины, то удалить его среднюю букву
Дана последовательность, которая содержит от 1 до 30 слов, в каждом из который от 1 до 5 строчных ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru