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

С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.93
Awessome
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 14
17.09.2010, 13:50     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #1
С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. Используйте фильтр для ввода только текстовых символов.
Помогите никак не могу сделать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2010, 13:50     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв.
Посмотрите здесь:

Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных (Написано на Паскале, переделать под C++) C++
Количество согласных букв в строке введенной с клавиатуры C++
C++ написать программу, которая подсчитывает количество гласных и согласных букв в заданной символьной строке
Определить количество гласных и согласных букв в тексте C++
Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 23:19     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #21
Ау народ подскажите кто-нибудь что не так.

Asics^ Если нет желания вникнуть в суть вопроса - так и не надо заморачиваться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 23:39     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #22
NikolaWhite, По первых вводится через getline. У вас это в комментах.
Во вторых каким макаром вы пытаетесь искать русские символы, если вводите тарабарщину? Собственно по понятиям программы ваш массив гласных - аналогичная тарабарщина. И что вы пытаетесь искать? Тарабарщину в тарабарщине? Удачных поисков.
Если у вас конечно не Linux.

Однако. Судя по всему я был не прав.

Добавлено через 14 минут
Прошу. Выводит все верно: 12
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 <conio.h>
using namespace std;
 
int main ()
{
        string input("найти в этом предложении гласные");
        int glasn = 0;
        
        string::size_type t=0;
        t=input.find_first_of("аеёиоуыэюя", t);
        if(t!=string::npos)
           glasn++;
        while(t!= string::npos)
        {
               t=input.find_first_of("аеёиоуыэюя",t+1);
               if(t!=string::npos)
                  glasn++;
        }
        cout<<glasn<<'\n';
       _getch();
       return 0;
}
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 00:07     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #23
А у меня что не выводило 12?

Добавлено через 4 минуты
Я вообще то про ввод с клавиатуры толкую.
Да фиг с ним когда-нибудь освою эту STL. Все таки сегодня только начал.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2010, 00:07     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #24
NikolaWhite, Ввод с клавиатуры... Скорее всего введется как раз абракадабра. Следовательно нифига не найдется
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 00:13     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #25
Почему абракадабра????

C++
1
2
3
string input;
getline(cin input);
cout << input;
выводится то что введено с клавиатуры
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2010, 00:16     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #26
NikolaWhite, Твоя правда.
Хотя нет. Поторопился.

После ввода : Привет

input "ЏаЁўҐв" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
Если просматривать в вотче. Соответственно - фигня.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 00:22     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #27
В моем примере все нормально выводится кроме количества гласных букв.

Следовательно нифига не найдется
.....ну это же С++ , а не Васька какой-нибудь
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2010, 00:25     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #28
Смотри. Вот так работает. То есть по программной сути он ищет тарабарщину в тарабарщине. Что не есть хорошо, но работает.

П.С. Первое - вводишь слово/фразу
Второе - вводишь гласные буквы.

В слове привет: выдало 2 гласных (верно)
В фразе: приветствую тебя о, Землянин : 10 (верно)

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
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
int main ()
{
        string input;
        std::getline(std::cin, input);
        std::cout<<input<<'\n';
        int glasn = 0;
        
        string::size_type t=0;
        string glasnz;
        std::cin>>glasnz;
        t=input.find_first_of(glasnz, t);
        if(t!=string::npos)
           glasn++;
        while(t!= string::npos)
        {
               t=input.find_first_of(glasnz,t+1);
               if(t!=string::npos)
                  glasn++;
        }
        printf("Kol-vo glasnyh: %d\n",glasn);
        
 
 _getch();
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
18.09.2010, 00:38     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #29
Asics^ Если нет желания вникнуть в суть вопроса - так и не надо заморачиваться
Не шариш.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2010, 00:42     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв.
Еще ссылки по теме:

Определить номера позиций гласных букв в данном тексте на русском языке C++
Строка содержит произвольный русский текст. Проверить, каких букв в нем больше, гласных или согласных C++
Определите долю гласных букв в заданном тексте на русском (английском) языке C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.09.2010, 00:42     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #30
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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 <stdio.h>
#include <string.h>
#include <windows.h>
 
#define RUALPHA "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"
#define RUVOWELS "АаЕеЁёИиОоУуЫыЭэЮюЯя"
#define MAX_STR 256
#define MASK "%255[^\n]"
 
char * win2dos(const char * str, char * buf){
    CharToOemA(str, buf);
    return buf;
}
 
char * dos2win(const char * str, char * buf){
    OemToCharA(str, buf);
    return buf;
}
 
int main(void){
    char buf[MAX_STR], tmp[MAX_STR], * pBuf;
    int cntRuVowels, cntRuConcordant;
    
    printf("%s: ", win2dos("Текст", tmp));
    *tmp = 0;    
    scanf(MASK, tmp);
    dos2win(tmp, buf);
    
    cntRuVowels = cntRuConcordant = 0;
    for ( pBuf = buf; *pBuf; ++pBuf ){
        if ( strchr(RUALPHA, *pBuf) ){
            if ( strchr(RUVOWELS, *pBuf) )
                ++cntRuVowels;
            else
                ++cntRuConcordant;
        }
    }
    
    printf("%s:   %d\n", win2dos("Гласных букв", tmp), cntRuVowels);
    printf("%s: %d\n", win2dos("Согласных букв", tmp), cntRuConcordant);
    
    return 0;
}
Yandex
Объявления
18.09.2010, 00:42     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв.
Ответ Создать тему
Опции темы

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