0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
|
||||||
1 | ||||||
Задание по union19.02.2018, 17:09. Показов 1900. Ответов 16
Метки нет (Все метки)
Здравствуйте, помогите пожалуйста с объединением(просто наводку или код если не сложно)
1 Часть. Создать объединение, которое хранит четырехбайтовый элемент, старшее и младшее слова четырехбайтового элемента и массив из четырех байт. 2 Часть. Ввести 2 случайных целых числа в диапазоне от 1 до 1000 в старшее и младшее слова четырехбайтового элемента объединения. Вывести четырехбайтовый элемент на экран в десятичном виде. Округлить четырехбайтовый элемент до ближайшего целого, кратного 5. Вывести новое значение четырехбайтового элемента на экран в десятичном виде и в шестнадцатеричном виде, значения всех полей объединения. Вот часть кода то что есть и то не уверен , что правильно
0
|
19.02.2018, 17:09 | |
Ответы с готовыми решениями:
16
Union Union Union и UB Union |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
19.02.2018, 19:01 | 2 | |||||
1
|
19.02.2018, 19:54 | 3 |
В задаче внятно не написано, чего хочет афтор задачи. На всякий случай, может быть он хотел так:
C union ob { unsigned long el; struct { unsigned short lo; unsigned short hi; } words; struct { unsigned char mass[4]; } bytes; } w;
2
|
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
|
||||||
19.02.2018, 23:36 [ТС] | 4 | |||||
Спасибо за ответы, можно поподробнее объяснить почему тут
В задаче нужно изучить работу объединения
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
20.02.2018, 06:54 | 5 |
lo[1] - младшее слово,
lo[0] - старшее слово или воспользуйтесь вариантом Evg
1
|
20.02.2018, 09:49 | 6 |
Там ничего не убирается. Есть два куска - "старшая половина" и "младшая половина". Как их хранить - в виде структуры из двух элементов или в виде массива из двух элементов - принципиальной разницы нет
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
||||||
20.02.2018, 10:46 | 7 | |||||
Evg, существуют же анонимные структуры:
1
|
Evg
|
20.02.2018, 14:39
#8
|
Не по теме: Большинство проблем растёт от того, что людям всегда хочется быстрее писАть. Но почему-то мало кто задумывается о том, что нужно. чтобы ещё и код было просто читать А насчёт анонимных структур - я с ходу и не припомню, откуда они взялись. То ли gnu-расширение, то ли начиная с какого-то стандарта. Т.е. не факт, что такой код везде заработает
0
|
COKPOWEHEU
|
20.02.2018, 16:05
#9
|
0
|
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
|
||||||
16.03.2018, 21:26 [ТС] | 10 | |||||
До сих пор не разобрался помогите пожалуйста.
Вывести четырехбайтовый элемент на экран в десятичном виде. (с этим пунктом возникли проблемы) строки 33 и 34 нужно чтобы например я пишу цифры 123 и 321 и мне в четырехбайтовом элементе выдавало 123321
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
16.03.2018, 21:43 | 11 |
33-ю убери. И почему hi перед lo?
1
|
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
|
|
16.03.2018, 22:01 [ТС] | 12 |
теперь выдает такое
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
16.03.2018, 22:06 | 13 |
А что ты ожидаешь?
0
|
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
|
|
16.03.2018, 22:14 [ТС] | 14 |
я думал должно получиться что-то вроде, я ввожу младшее слово- 123 , старшее - 321 и получается 123321, сори если туплю
0
|
1467 / 1008 / 456
Регистрация: 30.10.2017
Сообщений: 2,798
|
||||||
17.03.2018, 00:38 | 15 | |||||
invzful, 33ю строку замените тогда на
Только не забывайте, что когда вы запишете element, значения hi и lo затрутся.
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
||||||
17.03.2018, 08:47 | 16 | |||||
Книжку почитай. Такое работает только для шестнадцатеричной системы.
1
|
1467 / 1008 / 456
Регистрация: 30.10.2017
Сообщений: 2,798
|
|
17.03.2018, 09:48 | 17 |
del
1
|
17.03.2018, 09:48 | |
17.03.2018, 09:48 | |
Помогаю со студенческими работами здесь
17
Управляемый value union Union, struct Union - Объединения Динамический union Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |