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

проверка символа на принадлежность к буквам русского алфавита - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 4.74
pelele
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
08.10.2009, 17:09     проверка символа на принадлежность к буквам русского алфавита #1
Дан символ. Проверить: является ли данный символ гласной буквой русского алфавита(независимо от регистра).

Объясните, пожалуйста, как решить задачу, еще только познаю азы программирования
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
08.10.2009, 17:14     проверка символа на принадлежность к буквам русского алфавита #2
достать по блату таблицу аски символов.
и проверять, принадлежит ли вводимый символ к одной из гласных, путём сравнения кода оного символа с кодами гласных из таблицы аски символов.
вот так просто и сердито
RNT
Автор FAQ
 Аватар для RNT
3131 / 351 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.10.2009, 17:20     проверка символа на принадлежность к буквам русского алфавита #3
Допустим в char хранится символ . И ты знаешь , что русские заглавные буквы имеют код от 30 до 70 (к примеру) , русские строчные буквы имеют код от 140 до 190 , тогда :

C++
1
2
3
4
5
6
7
8
9
10
11
if((char>30)&&(char<70))
{
   //ура !! Русская буква
}
else
{
   if((char>140)&&(char<190))
   {
      //ура !! Русская буква
   }
}
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
08.10.2009, 17:30     проверка символа на принадлежность к буквам русского алфавита #4
Цитата Сообщение от RNT Посмотреть сообщение
Допустим в char хранится символ . И ты знаешь , что русские заглавные буквы имеют код от 30 до 70 (к примеру) , русские строчные буквы имеют код от 140 до 190 , тогда :

if((char>30)&&(char<70))
{
//ура !! Русская буква
}
else
{
if((char>140)&&(char<190))
{
//ура !! Русская буква
}
}
char - лучше не использовать для примера, а то наш юный друг может по неопвтности принять его за имя перменной.
Да и с таблицей поспешили, нету там РУССКИХ букв. или мож у меня бракованная

короче, лучше забить массив русских гласных как символов и не напрягаться с кодами. будет сивольное представление и усё
RNT
Автор FAQ
 Аватар для RNT
3131 / 351 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.10.2009, 17:36     проверка символа на принадлежность к буквам русского алфавита #5
Извиняюсь , не заметил что нужно определить гласная или нет
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.10.2009, 18:07     проверка символа на принадлежность к буквам русского алфавита #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream.h>
#include<windows.h>
#include <process.h> 
char c;
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå ГЎГіГЄГўГі"<<endl;
    cin>>c;
    if(c=='Г*'|| c=='ГЂ' || c=='ГҐ'|| c=='Г…'|| c=='Вё'|| c=='ВЁ'|| c=='ГЁ'|| c=='Г€'|| c=='Г®'|| c=='ГЋ'|| c=='Гі'|| c=='Г“'|| c=='Г»'|| c=='Г›'|| c=='ГЅ'|| c=='Гќ'|| c=='Гѕ'|| c=='Гћ'||c=='Гї'|| c=='Гџ')
        cout<<"Âû ââåëè ñèìâîë ГЈГ«Г*Г±Г*îé áóêâîé ðóññêîãî Г*ëôГ*ГўГЁГІГ*"<<endl;
    else
        cout<<"Âû ââåëè Г*ГҐ ñèìâîë ГЈГ«Г*Г±Г*îé áóêâîé ðóññêîãî Г*ëôГ*ГўГЁГІГ*"<<endl;
    system("pause");
    return 0;
}
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
09.10.2009, 09:41     проверка символа на принадлежность к буквам русского алфавита #7
pelele, русские заглавные входят в промежуток - 0xC0 и 0xDF, а маленькие - 0xE0 и 0xFF, на надо сравнивать как unsigned char, т.к. у русских букв отрицательное значение...
Evgenipost
0 / 0 / 0
Регистрация: 25.02.2011
Сообщений: 20
02.03.2011, 14:08     проверка символа на принадлежность к буквам русского алфавита #8
ASCIIкод русских букв:
866 MS-DOS в диапазоне 128-175 и 224-239
1251 MS-Windows в диапазоне 192-225
Расширенный ацкий код: http://ascii.org.ru/
файлом http://ascii.org.ru/ascii.pdf
vorant
 Аватар для vorant
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 20
16.09.2013, 21:19     проверка символа на принадлежность к буквам русского алфавита #9
а есть какой-нибудь способ без ручного прохода по ascii?
Qwertiy
817 / 625 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
17.09.2013, 12:28     проверка символа на принадлежность к буквам русского алфавита #10
Цитата Сообщение от vorant Посмотреть сообщение
а есть какой-нибудь способ без ручного прохода по ascii?
Способ что сделать?
Например, написать буквы в коде, если программа в той же кодировке, что и консоль.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2013, 13:05     проверка символа на принадлежность к буквам русского алфавита
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
conf
 Аватар для conf
-11 / 5 / 0
Регистрация: 16.09.2013
Сообщений: 25
17.09.2013, 13:05     проверка символа на принадлежность к буквам русского алфавита #11
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using std::cout;
int main()
{
    unsigned char asc2[255];
    for (int i=0;i<256;i++)
    {
        cout << i << char(32) << asc2[i] << "\n";
    }
    return 0;
}
можно подглядеть за алфавитом , и найти искомые значения .
Yandex
Объявления
17.09.2013, 13:05     проверка символа на принадлежность к буквам русского алфавита
Ответ Создать тему
Опции темы

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