Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2011, 18:09   #1
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию Эквивалент pascal - "a in [a1,a1,a2,3]" в с++

Подскажите есть ли эквивалент паскалевского "a in [a1,a1,a2,3]" в с++.
firephenix вне форума Ответить с цитированием
Старый 19.07.2011, 18:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО нет такого эквивалента.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.07.2011, 18:49   #3
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Хоть что-то напоминающее это, есть в c++?
firephenix вне форума Ответить с цитированием
Старый 19.07.2011, 19:14   #4
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от firephenix Посмотреть сообщение
Подскажите есть ли эквивалент паскалевского "a in [a1,a1,a2,3]" в с++.
Если вы ведете речь об определении данного, то наверное что-то похожее будет представлять тип данных enum. Правда он определяет целочисленные константы. Например,

enum color { Red, Green, Yellow };

color c = Green;

Ежели вы имеете в виду поиск элемента в последоватьльности, то можно использовать стандартный алгоритм std::find.

Так как я не имею дело с Паскалем, то вполне возможно, что моя информация не совсем то, что вам нужно. Но, тем не менее...
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 19.07.2011, 23:01   #5
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

В C++0x можно будет провернуть такой финт:
Код:
(vector<int> seq{a1, a1, a2, 3}, seq.find(a)!=seq.end())
Подробнее - читать про списки инициализации и про оператор запятая.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 20.07.2011, 17:19   #6
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

std::bitset, std::set

Но если элементов множества немного, то эффективнее тупое сравнение
Код:
if (a == a1)|(a == a2)|(a == a3) 
{
...
}
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04