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

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

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

Студворк — интернет-сервис помощи студентам
С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. Используйте фильтр для ввода только текстовых символов.
Помогите никак не могу сделать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2010, 13:50
Ответы с готовыми решениями:

Строка на русском языке нужно найти количество согласных и гласных букв
Строка на русском языке нужно найти количество согласных и гласных букв с помощью фильтра ввода...

С клавиатуры вводится строка, посчитать количиство гласных и согласных букв
помогите решить задачу - "С клавиатуры вводится строка, посчитать количиство гласных и согласных...

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

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

29
246 / 178 / 47
Регистрация: 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;
}
Потом можно создать парочку массивчиков с гласными и согласными , и сравнивать,и считать
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.09.2010, 14:52 3
NikolaWhite, Ага. Шикарно считается русская строка. Код то пробовали на виндовсе допустим?
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
17.09.2010, 15:05 4
Lavroff, в билдере и в студии работает с русской строкой, без setlocale(). В чём подвох?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.09.2010, 15:06 5
dihlofos, В студии даже? Странно. А что значит работает? Выводит впоряде русскую строку?
Ах да. Зачем использовать в С++ gets?

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

Содержание строки после ввода Привет, мир. Шикарно,м?)
0
Бродяга
314 / 268 / 56
Регистрация: 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;
}
Для "Привет, мир!":

Привет, мир!
ием
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
17.09.2010, 15:08 7
Для чтения строки из кириллических символов используйте OemToChar, для вывода - CharToOem
1
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;
}
Потом можно создать парочку массивчиков с гласными и согласными , и сравнивать,и считать
Это и так есть, я не знаю как прописать чтоб он сравнивал и ставил ограничение.
0
Бродяга
314 / 268 / 56
Регистрация: 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;
}
1
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 14
17.09.2010, 15:54  [ТС] 10
dihlofos,
Да, спасибо большое.
0
dihlofos
17.09.2010, 15:54
  #11

Не по теме:

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

0
5 / 5 / 0
Регистрация: 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;
}
3
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 18:38 13
Для чтения строки из кириллических символов используйте OemToChar, для вывода - CharToOem
Интересно как этим пользоваться?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.09.2010, 18:41 14
NikolaWhite, Он из библиотеки windows.h
1
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 19:06 15
Он из библиотеки windows.h
Что-то не найти мне windows.h на cplusplus.com.
Или есть другой ресурс?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.09.2010, 19:08 16
NikolaWhite, Это API системы Windows. WinAPI. Фак по нему есть на форуме.
1
246 / 178 / 47
Регистрация: 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();
}
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.09.2010, 22:51 18
NikolaWhite, Через getline надо вводить строку с пробелами.
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 23:07 19
Дак я так и ввожу. закомментированные линии 9 и 10, и ерунда получается
0
Freelance
Эксперт С++
2890 / 1825 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.09.2010, 23:10 20
Ну так не надо их коментить.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2010, 23:10
Помогаю со студенческими работами здесь

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

Дан текст на русском языке. Определить, каких букв больше –гласных или согласных
Дан текст на русском языке. Определить, каких букв больше –гласных или согласных.

Дан текст на русском языке. Определить, каких букв больше –гласных или согласных
Тема: Множества Дан текст на русском языке. Определить, каких букв больше –гласных или согласных...

Описать множества гласных и согласных букв русского языка, определить количество гласных и согласных букв в предложении
Описать множества гласных и согласных букв русского языка, определить количество гласных и...


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

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

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