Форум программистов, компьютерный форум 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, 14:47     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #2
Организовываем ввод пользователем
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Rus");
 
    char str[100];
    gets(str);
        
        system("pause");
        return 0;
}
Потом можно создать парочку массивчиков с гласными и согласными , и сравнивать,и считать
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 14:52     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #3
NikolaWhite, Ага. Шикарно считается русская строка. Код то пробовали на виндовсе допустим?
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
17.09.2010, 15:05     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #4
Lavroff, в билдере и в студии работает с русской строкой, без setlocale(). В чём подвох?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 15:06     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #5
dihlofos, В студии даже? Странно. А что значит работает? Выводит впоряде русскую строку?
Ах да. Зачем использовать в С++ gets?

str 0x0012fefc "ЏаЁўҐв, ¬Ёа" char [100]

Содержание строки после ввода Привет, мир. Шикарно,м?)
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
17.09.2010, 15:08     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #6
Ну например, такая штука:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
        char str[100];
    gets(str);
 
    puts(str);
 
    cout<<str[2];
    cout<<str[4];
    cout<<str[8];
 
    system("pause");
    return 0;
}
Для "Привет, мир!":

Привет, мир!
ием
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
17.09.2010, 15:08     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #7
Для чтения строки из кириллических символов используйте OemToChar, для вывода - CharToOem
Awessome
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 14
17.09.2010, 15:10  [ТС]     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #8
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Организовываем ввод пользователем
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Rus");
 
    char str[100];
    gets(str);
        
        system("pause");
        return 0;
}
Потом можно создать парочку массивчиков с гласными и согласными , и сравнивать,и считать
Это и так есть, я не знаю как прописать чтоб он сравнивал и ставил ограничение.
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
17.09.2010, 15:45     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #9
Awessome, работает, но только для латиницы С русским разберётесь?
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
#include <iostream>
 
using namespace std;
 
int main()
{ 
    int gl=0, sg=0, i, j;
    char gls[]="aeiouy";
    char sog[]="bcdfghjklmnpqrstvwxz";
    char str[100];
 
    cin>>str;
 
    for(i=0; i<strlen(str); i++)
        for(j=0; j<strlen(gls); j++)
            if(str[i]==gls[j])
                gl++;
 
    for(i=0; i<strlen(str); i++)
        for(j=0; j<strlen(sog); j++)
            if(str[i]==sog[j])
                sg++;
 
    cout<<gl<<" "<<sg<<endl;
    system("pause");
    return 0;
}
Awessome
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 14
17.09.2010, 15:54  [ТС]     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #10
dihlofos,
Да, спасибо большое.
dihlofos
17.09.2010, 15:54
  #11

Не по теме:

Что, прямо с русским сделали?

matroskin
4 / 4 / 1
Регистрация: 15.09.2010
Сообщений: 5
17.09.2010, 17:27     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
int main()
{   int CountSogl;
    int ind = 0;
    int index = 0;
    char ch[999];
    bool flag = false;
    cout<<"Vvedite stroku:\n\n";
    while(cin.getline(ch,999))
    {
        for (int i = 0;i<(sizeof(ch)/sizeof(ch[i]));i++)
        {   
            if((ch[i]>='a' && ch[i]<='z') || (ch[i]=='\0') || (ch[i]>='A' && ch[i]<='B' ))
            {
                if(ch[i] == 'e'|| ch[i]=='u' || ch[i] == 'i' || ch[i] == 'o' || ch[i]=='a')
                {
                index++;
                }
                ind++;
                if(ch[i] != '\0')
                    continue;
                CountSogl = --ind-index;
                cout<<"Kol-vo glasnih: "<<index<<"\nKol-vo soglasnih: "<<CountSogl;
                ind = index = 0;
                cout<<"\n\nVvedite stroku:\n\n";
                break;
            }
            else
            {   
                cout<<"Warning, dlia prodoljenia nazmite \"Enter\" i zanovo vvedite stroku!!!\n\n";
                cin.clear();
                while(cin.get()!='\n')
                    continue;
                break;
            }
        }
    }
    return 0;
}
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 18:38     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #13
Для чтения строки из кириллических символов используйте OemToChar, для вывода - CharToOem
Интересно как этим пользоваться?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 18:41     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #14
NikolaWhite, Он из библиотеки windows.h
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 19:06     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #15
Он из библиотеки windows.h
Что-то не найти мне windows.h на cplusplus.com.
Или есть другой ресурс?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 19:08     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #16
NikolaWhite, Это API системы Windows. WinAPI. Фак по нему есть на форуме.
TheMachinist
 Аватар для 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
17.09.2010, 22:51     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #18
NikolaWhite, Через getline надо вводить строку с пробелами.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 23:07     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #19
Дак я так и ввожу. закомментированные линии 9 и 10, и ерунда получается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2010, 23:10     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.09.2010, 23:10     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. #20
Ну так не надо их коментить.
Yandex
Объявления
17.09.2010, 23:10     С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв.
Ответ Создать тему
Опции темы

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