Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
#1

Проверить является ли заданная литера гласной русской буквой

24.11.2015, 18:45. Просмотров 423. Ответов 17
Метки нет (Все метки)

Напишите функцию проверяющую, является ли заданная литера гласной русской буквой.(с помощью функции) с++
помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2015, 18:45
Ответы с готовыми решениями:

Для заданного в файле текста проверить, является ли каждая его литера гласной русской буквой
Для заданного в файле текста проверить, является ли каждая его литера гласной...

В тексте найти количество слов, начинающихся и заканчивающихся гласной русской буквой
буду очень благодарен за помощь!

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

Проверить наличие в тексте одного из знаков разделителей (“.” , ”?”, ”!”) перед каждой большой русской буквой
Помогите пожалуйста. Проверить наличие в тексте одного из знаков разделителей...

Напишите подпрограмму, которая определяет, является ли введенный символ гласной буквой русского или латинского алфавита
Напишите подпрограмму, которая определяет, является ли введенный символ гласной...

17
schdub
Эксперт С++
3030 / 1374 / 419
Регистрация: 19.01.2009
Сообщений: 3,664
Завершенные тесты: 1
24.11.2015, 18:51 #2
Светлана Слонь, под Windows? Какая кодировка установлена в консоли?
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
24.11.2015, 19:40  [ТС] #3
вот какая у меня получилась но программа читает только анг буквы (если вводишь англ а-пишет гласная)если вводишь русскую а то пишет что гласная
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
#include <iostream>
using namespace std;
 
 
int function(char c )
{setlocale(LC_ALL, "Russian");
    if ((c >= 'а') || (c >= 'А') ) тут добавить надо
    {
        return 0;
    }
    return -1;
}
 
 
int main()
{setlocale(LC_ALL, "Russian");
    char c;
    cout << "введите букву: ";
    cin >> c;
 
    switch (function(c))
    {
    case -1: cout << "гласная" << endl; break;
    case 0: cout << "согласная" << endl; break;
    }
 
    return 0;
}
Добавлено через 1 минуту
как сделать так чтобы дев си считывал РУССКИЕ буквы а не англ??

Добавлено через 5 минут
буквы еще можно задать как массив...но я не знаю как ...
0
zoom59rus
6 / 6 / 6
Регистрация: 09.02.2015
Сообщений: 46
Завершенные тесты: 1
24.11.2015, 19:51 #4
В твоей концепции)

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
#include <iostream>
using namespace std;
 
 
int function(char c)
{
    setlocale(LC_ALL, "Russian");
    if ((c == 'а') || (c == 'А') || (c == 'о') || (c == 'О') || (c == 'е') || (c == 'Е') 
        || (c == 'у') || (c == 'У') || (c == 'ы') || (c == 'Ы') || (c == 'э') || (c == 'Э')
        || (c == 'я') || (c == 'Я') || (c == 'и') || (c == 'И') || (c == 'ю') || (c == 'Ю')
        || (c == 'ё') || (c == 'Ё') || (c == 'й') || (c == 'Й'))
    {
        return 0;
    }
    return -1;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char c;
    cout << "введите букву: ";
    cin >> c;
 
    switch (function(c))
    {
    case -1: cout << "гласная" << endl; break;
    case 0: cout << "согласная" << endl; break;
    }
 
    return 0;
}
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
24.11.2015, 20:00  [ТС] #5
ой спасибо))))))))

Добавлено через 50 секунд
не понимаю почему дев не хотело русские я ж сетлокейт и там и там ставила....

Добавлено через 3 минуты
спасибо)))
0
zoom59rus
6 / 6 / 6
Регистрация: 09.02.2015
Сообщений: 46
Завершенные тесты: 1
24.11.2015, 20:32 #6
через стринг

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
#include <iostream>
#include <string>
#include "windows.h"
 
using namespace std;
 
int function(char c)
{
    string glas{ "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" };
    for (int i{}; i < glas.length(); i++)
    {
        if (c == glas[i])
        {
            return -1;
        }
    }
    return 0;
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    char c;
    cout << "введите букву: ";
    cin >> c;
    switch (function(c))
    {
    case -1: cout << "гласная" << endl; break;
    case 0: cout << "согласная" << endl; break;
    }
 
    return 0;
}
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
25.11.2015, 16:55  [ТС] #7
C++
1
2
3
4
5
6
7
string glas{ "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" }; // почему здесь буквы написаны в {} а не ()???
    for (int i{}; i < glas.length(); i++) // почему возле  i находится {} и  i < glas.length(); что такое glas.length();
    {
        if (c == glas[i])
        {
            return -1;
        }
Добавлено через 4 минуты
мне выдает ошибку на
string glas{ "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" }
0
schdub
Эксперт С++
3030 / 1374 / 419
Регистрация: 19.01.2009
Сообщений: 3,664
Завершенные тесты: 1
25.11.2015, 17:51 #8
Цитата Сообщение от Светлана Слонь Посмотреть сообщение
почему здесь буквы написаны в {} а не ()???
C++11
0
zoom59rus
6 / 6 / 6
Регистрация: 09.02.2015
Сообщений: 46
Завершенные тесты: 1
25.11.2015, 18:06 #9
тогда {} заменить на = 0 и = "сдесь инициализация"
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
25.11.2015, 21:15  [ТС] #10
мне выдает ошибку на
string glas{ "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" }
на что надо заменить??
может так?
string glas=( "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" )

Добавлено через 51 секунду
что такое glas.length()?

Добавлено через 2 минуты
я вставила string glas=( "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё" ) программа читает
но не правильно выводит (((((
считывает только англ текст....русскую гласную считает как согласную
анг -а как гласную(((((((((((((((((((((((((
0
zoom59rus
6 / 6 / 6
Регистрация: 09.02.2015
Сообщений: 46
Завершенные тесты: 1
26.11.2015, 07:47 #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
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <string>
#include "windows.h"
 
using namespace std;
 
int function(char c)
{
    string glas = "ЙйУуЕеЫыАаОоЭэЯяИиЮюЁё";
    for (int i=0; i < glas.length(); i++)
    {
        if (c == glas[i])
        {
            return -1;
        }
    }
    return 0;
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    char c;
    cout << "введите букву: ";
    cin >> c;
    switch (function(c))
    {
    case -1: cout << "гласная" << endl; break;
    case 0: cout << "согласная" << endl; break;
    }
 
    return 0;
}
0
gogaloh
15 / 20 / 0
Регистрация: 14.03.2015
Сообщений: 605
26.11.2015, 09:11 #12
zoom59rus, что-то не работает программа выдает любую букву как согласную.
0
nmcf
6271 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
26.11.2015, 09:29 #13
"Й" почему у вас среди гласных?
C++
1
2
3
4
5
bool function(char c)
{
    string glas = "УуЕеЫыАаОоЭэЯяИиЮюЁё";
    return glas.find(c) != string::npos;
}
C++
1
2
    if (function(c)) cout << "гласная" << endl;
    else cout << "согласная" << endl;
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
26.11.2015, 16:30  [ТС] #14
тоже самое-не работает программа выдает любую букву как согласную.

Добавлено через 3 минуты
0
nmcf
6271 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
26.11.2015, 17:25 #15
Светлана Слонь, отладчиком воспользуйся. Точку останова после ввода c или внутрь функции, и посмотри код символа. У тебя не совпадает, наверное кодировка.
0
zoom59rus
6 / 6 / 6
Регистрация: 09.02.2015
Сообщений: 46
Завершенные тесты: 1
26.11.2015, 19:25 #16
gogaloh,
после передачи в функцию function(c)
поставь оператор cout<<c<<endl;

если есть пустая строка, значит проблема с кодировкой.
0
Светлана Слонь
0 / 0 / 1
Регистрация: 21.11.2015
Сообщений: 213
27.11.2015, 20:41  [ТС] #17
0
gogaloh
15 / 20 / 0
Регистрация: 14.03.2015
Сообщений: 605
27.11.2015, 20:47 #18
Светлана Слонь, споткнулись на ровном месте, у меня тоже не получилось. Похоже функция возвращает 0.
0
27.11.2015, 20:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2015, 20:47

Написать функцию, которая возвращается True, если символ, полученный функцией в качестве аргумента, является гласной буквой русского алфавита
Люди добрые помогите исправить ошибки, а то в Си не оч) Написать функцию,...

Проверить является ли символ согласной буквой латинского алфавита
Дан символ. Проверить: является ли данный символ согласной буквой латинского...

Проверить, является ли заданная последовательность чисел линейкой Голомба
Помогите пожалуйста написать программу на с++ Линейкой Голомба порядка N...


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

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

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