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

Не происходит объединение? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Эйлер прогулка шахматного коня http://www.cyberforum.ru/cpp-beginners/thread184463.html
#include "stdafx.h" #include<iostream> #include<cstdlib> #include<ctime> using namespace std; const int size=8; int board={0}; void main() {
C++ может ли 64 битный windows как-то влиять на работу программы Народ подскажите может ли 64 битный windows как-то влият на работу программы.(которая выводит биты числа на экран два чила в двоичной системе и делает замену битов(берет к примеру 5 битов из 1 числа... http://www.cyberforum.ru/cpp-beginners/thread184462.html
Найдите синтаксическую ошибку! C++
Написал подобие проги для нахождения корней методом хорд, но никак не могу найти ошибку: в строке 35 выдаёт Unit1.cpp(35): E2141 Declaration syntax error, помогите в поиске причины, пожалуйста...
C++ В тексте заменить символы "fh" на символ "с"
дан входной файл нужно обработать и записать в выходной вот задание В тексте заменить символы "fh" на символ "с". В тексте несколько строк. я вообще запутался в этой программе, так как почти...
C++ Заполнение вектора структурами. Найдите ошибку. http://www.cyberforum.ru/cpp-beginners/thread184436.html
Требуется заполнить вектор структурами и вывести на печать. Просто громадное количество ошибок. Понимание работы этой программы необходимо для выполнения более сложного задания. #include...
C++ Сканирование локальной сети в заданном диапазоне IP Искала, но именного того что нужно здесь не нашла ((((( Поэтому спрашиваю в новой теме. Если у кого есть свободная минутка, покажите конкретное тело программы на С++ через цикл while, которая... подробнее

Показать сообщение отдельно
ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148

Не происходит объединение? - C++

31.10.2010, 18:34. Просмотров 334. Ответов 1
Метки (Все метки)

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
using namespace std;
 
#define HIBYTE(l) ((l & 0xffff) >> 8)
#define LOBYTE(l) ((int)(l) & 0xff)
//Макросы для разделения на младший бит и старший бит
 
 
unsigned char *a2 = new unsigned char[];
unsigned char *b2 = new unsigned char[];
unsigned char *c2 = new unsigned char[];
 
unsigned __int16 a[] = {0xFA55, 0x5699, 0xD5D8, 0xAAF6, 0x8899}, 
                 b[] = {0x6456, 0x9986, 0x3336, 0x5776, 0xAF64, 0x6667};
unsigned __int16 *c = new unsigned __int16[];
 
int main()
{   
    for(int i=0, j=0, k=0; k < (sizeof(a)+sizeof(b))/sizeof(*c); k++)
    {
c[k] = (a[i] << b[j]) ? a[i++] : b[j++];
//Объединяет массивы a[] и b[] в массив *c
 
 
*a2 = HIBYTE(c[k]);
*b2 = LOBYTE(c[k]);
//Деллит данные массива *c на старший, млыдший бит и записывает их в массивы *a2 и *b2
}
 
 
for(int i=0, j=0, k=0; k < (sizeof(a2)+sizeof(b2))/sizeof(*c2); k++)
{
c2[k] = (a2[i] << b2[j]) ? a2[i++] : b2[j++];
//Объединяет массивы a2[] и b2[] в массив *c2
 
 
printf("%x\n", c2[k]);
//Результат объединения массивов a2[] и b2[] должен выводить на экран в столбик???
}
getch();
}
на экран выводит вот такое

66
fd
fd
fd
ab
ab
ab
ab

а должен выводить

fa
55
56
99
d5
d8
aa
f6
88
99
64
56
99
86
33
36
57
76
af
64
66
67
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru