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

Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
matadorber
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 2
15.01.2014, 23:03     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов #1
Помогите написать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 23:03     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов
Посмотрите здесь:

C++ Подсчитать количество символов в самой длинной группе.
C++ Подсчитать количество символов в самой длинной группе
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. C++
Определить количество слов состоящих из менее 5 букв C++
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VaDiG
 Аватар для VaDiG
29 / 26 / 3
Регистрация: 13.01.2014
Сообщений: 63
16.01.2014, 03:24     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов #2
matadorber,
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
#include<Windows.h>
#include<iostream>
 
using namespace std;
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int count = 0, col = 0, flag = true;
    char str[256];
    cout << "Введите строку:";
    gets_s(str);
    
    for(int i = 0; i < strlen(str); i++)
    {
        count++;
        if(str[i] < 'А' || str[i] > 'Я' || str[i] < 'а' || str[i] > 'я')
            flag = false;
        if(str[i] == ' ')
        {
            if(count > 4)
                col++;
            count = 0;
            flag = true;
        }
    }
 
    cout << "Количество слов: " << col << endl;
    system("pause");
    return 0;
}
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
16.01.2014, 04:09     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов #3
VaDiG,
Странное решение и вообще не в стандарте С++, нормально это выглядит как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<sstream>
#include<string>
 
int main()
{
    using namespace std;
    size_t count = 0;
    string tmp;
    cout << "Input String : ";
    getline(cin, tmp);
    istringstream istr(tmp);
    while(istr >> tmp) ++count;
    cout << " Count of words : " << count << endl; 
    cin.get();
    return 0;
}
VaDiG
 Аватар для VaDiG
29 / 26 / 3
Регистрация: 13.01.2014
Сообщений: 63
16.01.2014, 14:41     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов #4
Цитата Сообщение от abit Посмотреть сообщение
VaDiG,
Странное решение и вообще не в стандарте С++, нормально это выглядит как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<sstream>
#include<string>
 
int main()
{
    using namespace std;
    size_t count = 0;
    string tmp;
    cout << "Input String : ";
    getline(cin, tmp);
    istringstream istr(tmp);
    while(istr >> tmp) ++count;
    cout << " Count of words : " << count << endl; 
    cin.get();
    return 0;
}
и что это такое? оно считает просто количество слов.. вы задание видели?
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
16.01.2014, 15:02     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов #5
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
#include <Windows.h>
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    const std::string delimeters("!?,. ");
    const std::string russianLetters("абвгдеёжзийклмнопрстуфхцчшщъыьэюя");
    
    std::string string;
    std::cout << "Введите строку: " << std::endl;
    std::getline(std::cin, string);
 
    size_t resultWordsCounter(0);
    char *currentToken(nullptr);
    char *currentWord(strtok_s(const_cast <char *> (string.c_str()), delimeters.c_str(), &currentToken));
    while (currentWord) {
        size_t russianLettersInWord(std::count_if(currentWord, currentWord + strlen(currentWord), [russianLetters](char currentSymbol) -> bool {
            return std::count(russianLetters.begin(), russianLetters.end(), currentSymbol);
        }));
        resultWordsCounter += russianLettersInWord > 4 ? 1 : 0;
        currentWord = strtok_s(0, delimeters.c_str(), &currentToken);
    }
    std::cout << "Кол-во слов, содержащих более 4 русски букв: " << resultWordsCounter << std::endl;
 
    std::system("pause");
    return 0;
}
Yandex
Объявления
16.01.2014, 15:02     Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов
Ответ Создать тему
Опции темы

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