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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.93
Awessome
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 14
#1

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

17.09.2010, 13:50. Просмотров 5662. Ответов 29
Метки нет (Все метки)

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

Дана строка: предложение на русском языке. Подсчитать количество содержащихся гласных букв - C++
Пример в паскале(рабочий) program st; var S:String; i,Num:integer; begin Write('S: '); Readln(S);

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

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

Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает - C++
Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает. Никак не могу...

Найти количество гласных и согласных букв - C++
Помогите плиз!Надо найти кол-во гласных и согласных букв.Вот что-то понять не могу где ошибка.Ни фига не считает. #include <stdio.h> ...

Определить количество гласных и согласных букв в тексте - C++
Дан текст. Посчитать количество гласных и согласных букв,текст считывается из файла. Помогите пожалуйста

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.09.2010, 19:08 #16
NikolaWhite, Это API системы Windows. WinAPI. Фак по нему есть на форуме.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 22:42 #17
Я тут решил использовать STL , только никак не пойму почему если строка с клавиатуры вводится(lines 10-11)
результат не правильный(1 или 2). А так (line 11) все нормально.


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("найти в этом предложении гласные");
    //string input;
    //getline(cin, input);
  size_t found;
    int glasn = 0;
    
    found = input.find_first_of("аеёиоуыэюя");
    while(found != string::npos)
    {
        found = input.find_first_of("аеёиоуыэюя",found+1);
            glasn++;
    }
    printf("Kol-vo glasnyh: %d\n",glasn);
    
 
 _getch();
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.09.2010, 22:51 #18
NikolaWhite, Через getline надо вводить строку с пробелами.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 23:07 #19
Дак я так и ввожу. закомментированные линии 9 и 10, и ерунда получается
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
17.09.2010, 23:10 #20
Ну так не надо их коментить.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 23:19 #21
Ау народ подскажите кто-нибудь что не так.

Asics^ Если нет желания вникнуть в суть вопроса - так и не надо заморачиваться
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 00:07 #23
А у меня что не выводило 12?

Добавлено через 4 минуты
Я вообще то про ввод с клавиатуры толкую.
Да фиг с ним когда-нибудь освою эту STL. Все таки сегодня только начал.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2010, 00:07 #24
NikolaWhite, Ввод с клавиатуры... Скорее всего введется как раз абракадабра. Следовательно нифига не найдется
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
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2010, 00:16 #26
NikolaWhite, Твоя правда.
Хотя нет. Поторопился.

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

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

Следовательно нифига не найдется
.....ну это же С++ , а не Васька какой-нибудь
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
18.09.2010, 00:38 #29
Asics^ Если нет желания вникнуть в суть вопроса - так и не надо заморачиваться
Не шариш.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2010, 00:42
Привет! Вот еще темы с ответами:

Строка содержит произвольный русский текст. Проверить, каких букв в нем больше, гласных или согласных - C++
Строка содержит произвольный русский текст. Проверить, каких букв в нем больше, гласных или согласных. Нужно написать программу на с++ с...

написать программу, которая подсчитывает количество гласных и согласных букв в заданной символьной строке - C++
Помогите пожалуйста.Написать программу, которая подсчитывает количество гласных и согласных букв в заданной символьной строке(си++)

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

Количество согласных букв в строке введенной с клавиатуры - C++
Помогите пожалуйста с программой:wall: Надо написать программу которая будет подсчитывать количество согласных букв в строке введенной...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.09.2010, 00:42
Ответ Создать тему
Опции темы

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