IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> работа с символами в Си
*оля*
сообщение 14.10.2010 19:44
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 125
Пол: Женский

Репутация: -  1  +


помогите пожалуйста решить задачу(Си):

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


нужно найти код данного символа и проверить входит ли он в множество кодов, соответствующих буквам латинского алфавита? или как-то по-другому?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.10.2010 20:09
Сообщение #2


Гость






Можно...
if( strchr("BCDFGHJKLMNPQRSTVWXYZ", toupper(ch)) != NULL )
{
/* Если мы здесь - то символ, хранящийся в ch - согласная буква (независимо от регистра) */
}

Подробнее об этих функциях - здесь: strchr() и toupper()
 К началу страницы 
+ Ответить 
*оля*
сообщение 14.10.2010 20:40
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 125
Пол: Женский

Репутация: -  1  +


спасибо большое!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 14.10.2010 21:02
Сообщение #4


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


А есть решение в стиле Паскаля (с множеством), которое не прогоняет строку, а сразу проверяет номер соответствующего бита? И чтобы не руками задавать const int letters = 1<<'B'||1<<'C'||...||1<<'Z'


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.10.2010 21:14
Сообщение #5


Гость






Для С - нету, для С++ можно попробовать.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.07.2025 23:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"