Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DjSwatPro
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 78
#1

Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово - C++

28.04.2014, 18:01. Просмотров 465. Ответов 4
Метки нет (Все метки)

Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово. Ввести случайное число в диапазоне от 20 до 50. Округлить его до ближайшего целого, кратного 6. Переставить байты таким образом, чтобы на месте 1-го байта был 4, на 2-ом месте был 1-ый, на 3-ем был 2-ой, на 4-ом был 3 байт. Вывести число в шестнадцатеричном виде до перестановки и после нее.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 18:01     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово
Посмотрите здесь:

C++ поменять местами первое и второе слово в каждой строке
Рассматривая комплексное число как структуру, состоящую из двух вещественных полей, составить функции выполнения четырех арифметических операций C++
Определить результаты спортсменов, занявших первое и второе места C++
C++ Вывести на экран первое и второе слово
C++ Определить первое слово с указанной буквой
C++ Дан массив символов, вывести на экран второе слово
C++ Определить названия команд, занявших первое, второе и третье места
C++ Ввести предложение. Поменять первое и второе слово местами
Определить объединение из двух полей. Первое поле – массив из четырех байт, второе – двойное слово C++
C++ Определить объединение из двух полей. Первое поле - массив из двух байт, второе - слово
C++ Определить объединение из двух полей
C++ Определить объединение из двух полей Первое поле - массив из двух байт, второе - слово

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6192 / 5795 / 1877
Регистрация: 18.12.2011
Сообщений: 14,800
Завершенные тесты: 1
28.04.2014, 18:31     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
#include <iostream>
#include <iomanip>
using namespace std;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
union AA
{
   char c[4];
   unsigned int n;
};
int main()
{
   AA X;
   X.n=rand()%31+20;
   X.n=X.n-X.n%6;
   cout<<hex<<X.n<<endl;
   char t=X.c[3];
   X.c[3]=X.c[2];
   X.c[2]=X.c[1];
   X.c[1]=X.c[0];
   X.c[0]=t;
   cout<<hex<<X.n<<endl;
   return 0;
}
DjSwatPro
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 78
28.04.2014, 19:01  [ТС]     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iomanip>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>
using namespace std;
union AA
{
   char c[4];
   unsigned int n;
};
int main()
{
   AA X;
   X.n=rand()%31+20;
   X.n=X.n-X.n%6;
   cout<<hex<<X.n<<endl;
   char t=X.c[3];
   X.c[3]=X.c[2];
   X.c[2]=X.c[1];
   X.c[1]=X.c[0];
   X.c[0]=t;
   cout<<hex<<X.n<<endl;
getch ();
return 0;   
}
1e
1e00

не меняется вообще

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iomanip.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>
using namespace std;
union AA
{
   char c[4];
   unsigned int n;
};
int main()
{
   AA X;
   X.n=rand()%31+20;
   X.n=X.n-X.n%6;
   cout<<hex<<X.n<<endl;
   char t=X.c[3];
   X.c[3]=X.c[2];
   X.c[2]=X.c[1];
   X.c[1]=X.c[0];
   X.c[0]=t;
   cout<<hex<<X.n<<endl;
getch ();
return 0;   
}
zss
Модератор
Эксперт С++
6192 / 5795 / 1877
Регистрация: 18.12.2011
Сообщений: 14,800
Завершенные тесты: 1
28.04.2014, 20:02     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово #4
Цитата Сообщение от DjSwatPro Посмотреть сообщение
не меняется вообще
Чтобы менялось надо в начале main() задать начальное случайное значение для датчика:
C++
1
srand( (unsigned)time( NULL ) );
DjSwatPro
0 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 78
28.04.2014, 20:16  [ТС]     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово #5
простите, но я не понимаю как втсавить, чтоб скомпилировать. уже так и сяк насувал. просто это не проходили еще

Добавлено через 3 минуты
все. понял. разобрался
Yandex
Объявления
28.04.2014, 20:16     Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово
Ответ Создать тему
Опции темы

Текущее время: 14:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru