Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206

Непонятная операция

18.08.2010, 15:45. Показов 1058. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Помогите разобраться, ранее не встречал:
Есть
C++
1
enum Sute {clubs,diamonds,hearts,spades}
в main() мы создаем колоду карт и заполняем. Так вот при заполнении в цикле есть такая операция:
C++
1
Suit su = Suit(j/13);
С левой частью все ясно, а вот с правой не очень.
Почему мы не работаем с объектом Suit, а как-то напрямую это делаем...вообще не ясно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2010, 15:45
Ответы с готовыми решениями:

Непонятная операция в листинге
Почему if(s=='.') использует s= на s и что значит ++s мы сдвигаем указатель или что растолкуйте #include <iostream.h> #include...

операция <<::>>
имею код char Car::*Get_Marka(){ return marka ; } char Car::*Get_Color() { return color ; } bool Car::Get_Rastamojena() { return...

Торможение и Непонятная операция при загрузке компьютера. Как их убрать?
С некоторого времени при загрузке комп-а на черном экране стала появляться строка MAC ADR: 14 DA ... (MAC-адрес сетевой карты, другое...

13
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
18.08.2010, 15:49
А чего весь код не выложил? Что тут по обрывкам понять можно?.....
0
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
18.08.2010, 15:51  [ТС]
Цитата Сообщение от SergProgC++ Посмотреть сообщение
А чего весь код не выложил? Что тут по обрывкам понять можно?.....
Потому-что весь остальной код мне вполне ясен.
Здесь же непонятна сама запись в правой ее части = Suit();
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
18.08.2010, 15:58
j я так понимаю счетчик, а 13 это количество карт одной масти (валет, король и т.д.)?
0
Заблокирован
18.08.2010, 15:58
вот более расширенный синтаксис:
C++
1
enum Sute {clubs = 0,diamonds = 1,hearts = 2,spades = 3}
C++
1
Suit(j/13)
- j-тая карта в колоде принимает значение одной из мастей(карт - 52, одной масти - по 13)
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
18.08.2010, 15:59
А Suit точно объект, а не метод?
0
Заблокирован
18.08.2010, 16:04
перечисление(типа массива)
0
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
18.08.2010, 16:11  [ТС]
Цитата Сообщение от SergProgC++ Посмотреть сообщение
А Suit точно объект, а не метод?
C++
1
enum Suit(бла, бла, бла)
точно не метод.

Добавлено через 51 секунду
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
вот более расширенный синтаксис:
C++
1
enum Sute {clubs = 0,diamonds = 1,hearts = 2,spades = 3}
C++
1
Suit(j/13)
- j-тая карта в колоде принимает значение одной из мастей(карт - 52, одной масти - по 13)
Почему не Suit su = su(j/13)?
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
18.08.2010, 16:12
если честно я что то тоже не догоняю особенно это деление j/13
0
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
18.08.2010, 16:17  [ТС]
Цитата Сообщение от SergProgC++ Посмотреть сообщение
если честно я что то тоже не догоняю особенно это деление j/13
j/13 - это как правильно заметил Dzhej-Dzhej, распределение карт по мастям.
В каждой масти 13 карт. В цикле из 52 итераций, ко всем 52м картам добавляется масть.

т.к. suit это int перечисление, то:
j<13 - значение будет = 0. Следовательно первая масть
j>13<=26 - значение будет = 1. Следовательно вторая масть..
и т.д.

Добавлено через 1 минуту
Мне же не ясно, почему мы обращаемся напрямую к объявлению списка, а не к объекту списка...
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
18.08.2010, 16:24
C++
1
Suit su = Suit(j/13);
Здесь целое приводится к типу Suit, так как неявное преобразование целого в значение типа перечисления запрещено стандартом.
Непонятно только, почему у вас после строчки
C++
1
enum Sute {clubs,diamonds,hearts,spades}
нет точки с запятой.
0
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
18.08.2010, 16:27  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
C++
1
Suit su = Suit(j/13);
Здесь целое приводится к типу Suit, так как неявное преобразование целого в значение типа перечисления запрещено стандартом.
Т.е. эта запись эквивалентна:
C++
1
Suit su = static_cast<Suit>(j/13)
?
Непонятно только, почему у вас после строчки
C++
1
enum Sute {clubs,diamonds,hearts,spades}
нет точки с запятой.
Это просто спешка. Уверяю - в программе точка с запятой присутствует.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
18.08.2010, 16:30
Цитата Сообщение от half-node Посмотреть сообщение
Т.е. эта запись эквивалентна:
C++
1
Suit su = static_cast<Suit>(j/13)
?
Ну да.
1
23 / 20 / 3
Регистрация: 12.08.2010
Сообщений: 206
18.08.2010, 16:38  [ТС]
Все. Спасибо большое! Более мне ничего и не нужно было.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.08.2010, 16:38
Помогаю со студенческими работами здесь

Операция *new
Добрый вечер. Просматривая исходники QCalendarWidget, обнаружил странную форму записи new, вот так: ...

Операция (1С 7.7)
Как при проведении документа записать его в операцию со значением реквизита &quot;Документ&quot; (В операции) с именем документа а не с...

Операция $this->
Здравствуйте. Учу ООП. И не понимаю написанное в книге: &quot;Операция $this-&gt; принадлежит отдельному объекту класса, то есть не целиком...

Непонятная
Здравствуйте. Сложилась следующая ситуация... Пару дней назад сменили хостера. Примерно в это же время ушел в ноль один из запросов....

Операция присваивания (=)
Добрый день, интересует вот что: правильно ли я считаю, что в int x = .0 + 1F + 4L; 1) Сперва все операнды сложения (по правую...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru