7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
1

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

08.10.2009, 17:09. Показов 23464. Ответов 10
Метки нет (Все метки)

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

Объясните, пожалуйста, как решить задачу, еще только познаю азы программирования
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2009, 17:09
Ответы с готовыми решениями:

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

Сортировка русского алфавита с буквой ё
Здравствуйте, помогите, пожалуйста, реализовать программу сортировки слов рус. алфавита с буквой ё....

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

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

10
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
08.10.2009, 17:14 2
достать по блату таблицу аски символов.
и проверять, принадлежит ли вводимый символ к одной из гласных, путём сравнения кода оного символа с кодами гласных из таблицы аски символов.
вот так просто и сердито
0
Автор FAQ
3145 / 365 / 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))
   {
      //ура !! Русская буква
   }
}
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
08.10.2009, 17:30 4
Цитата Сообщение от RNT Посмотреть сообщение
Допустим в char хранится символ . И ты знаешь , что русские заглавные буквы имеют код от 30 до 70 (к примеру) , русские строчные буквы имеют код от 140 до 190 , тогда :

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

короче, лучше забить массив русских гласных как символов и не напрягаться с кодами. будет сивольное представление и усё
0
Автор FAQ
3145 / 365 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.10.2009, 17:36 5
Извиняюсь , не заметил что нужно определить гласная или нет
0
Эксперт С++
4722 / 2543 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
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;
}
1
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
09.10.2009, 09:41 7
pelele, русские заглавные входят в промежуток - 0xC0 и 0xDF, а маленькие - 0xE0 и 0xFF, на надо сравнивать как unsigned char, т.к. у русских букв отрицательное значение...
0
0 / 0 / 1
Регистрация: 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
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 20
16.09.2013, 21:19 9
а есть какой-нибудь способ без ручного прохода по ascii?
0
830 / 638 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
17.09.2013, 12:28 10
Цитата Сообщение от vorant Посмотреть сообщение
а есть какой-нибудь способ без ручного прохода по ascii?
Способ что сделать?
Например, написать буквы в коде, если программа в той же кодировке, что и консоль.
0
-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;
}
можно подглядеть за алфавитом , и найти искомые значения .
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2013, 13:05
Помогаю со студенческими работами здесь

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

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

Является ли символ одной из букв русского алфавита
Помогите описать логическую функцию, которая определит, является ли некий произвольный символ С...

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


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

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

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