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

Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами

28.02.2018, 10:22. Показов 3009. Ответов 2
Метки нет (Все метки)

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

Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между...

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

Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Напечатать вс
помогите решить

дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прорисных латинских букв, между соседними словами - запятая, за пос
дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прорисных...

2
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
28.02.2018, 11:32 2
Лучший ответ Сообщение было отмечено UsesNAME как решение

Решение

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
#include <iostream>
using namespace std;
#define is_space(c) ((c) == ' ' || (c) == '\t' || (c) == '\n')
#define is_latin(c) ((c) >= 'a' && (c) <= 'z' || (c) >= 'A' && (c) <= 'Z')
 
size_t count_words(const char* s, bool (*cmp)(const char*, const char*)){
    size_t n = 0, i = 0;
    do {
        if(*s && !is_space(*s))
            ++i;
        else if(i > 0){
            if((*cmp)(s - i, s))
                ++n;
            i = 0;
        }
    } while(*s++ != '\0');
    return n;
}
 
int main(void){
    char s[] = "PascalABC perl java FortranX";
 
    size_t n = count_words(s, [] (const char* a, const char* b){
        const char* t = a;
        while((a != b) && is_latin(*a))
            ++a;
 
        size_t n = static_cast<size_t>(a - t);
        return (n == static_cast<size_t>(b - t)) && (n == 8 || n == 9);     
    });
 
    cout << "count: " << n << endl;
    cin.get();
    return 0;
}
0
2851 / 1999 / 987
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
28.02.2018, 15:34 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <regex>
#include <string>
#include <iterator>
 
 
int main()
{
    std::string str(" PascalABC, AAAbbbcccF, java, FortranX ");
    std::regex reg("\\b[[:alpha:]]{8,9}\\b");
    std::sregex_iterator ib(str.begin(), str.end(), reg), ie;
    std::cout << std::distance(ib, ie) << std::endl;
}
0
28.02.2018, 15:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2018, 15:34
Помогаю со студенческими работами здесь

Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного
Напишите пожалуйста код :-* Дана последовательность, содержащая от 2 до 50 слов, в каждом из...

Заданная последовательность слов от 1 до 30 слов, в каждом от 1 до 5 латинских букв. Между соседними словами - запятая за последний словом точка. выве
Здраствуйте решите пожалуста такую задачку: Заданная последовательность слов от 1 до 30 слов, в...

Дана непустая последовательность слов,в каждом из которых от 1 до 6 латинских букв;между соседними запятая
Дана непустая последовательность слов,в каждом из которых от 1 до 6 латинских букв;между соседними...

Дана последовательность, содержащая от 2 до 20 слов, в каждом из которых от 1 до 8 строчных букв, между соседними словами – не менее одного пробела
Дана последовательность, содержащая от 2 до 20 слов, в каждом из которых от 1 до 8 строчных букв,...


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

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

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