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

Объединение двух массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дополнить каждое слово предложения пробелами (по длине максимального слова) http://www.cyberforum.ru/cpp-beginners/thread179921.html
Вот задачка. "Дополнить каждое слово предложения пробелами так, чтобы его длина была равна длине самого длинного слова. Распечатать получившееся предложение". Прошу решить её , желательно с...
C++ надо литература по компонентам Builder 6 подскажите где взять (скачать бесплатно) учебник/справочник шоб было описание работы с компонентами InternetExpress, Internet заранее спасибо. Запрещено давать ссылки на скачивание программ и... http://www.cyberforum.ru/cpp-beginners/thread179913.html
C++ Как записать в переменную большое количество текста?
Как записать в переменную большое количество текста ? Но этот текст с слешами, лапками, и прочими спец символами..
C++ Дополнительно на оценку!
Такая задача: надо вывести график вводимой функции типа , тоесть она вводится юзером и надо вывести график функции!
C++ Строки, десятичная система, шестнадцатеричная http://www.cyberforum.ru/cpp-beginners/thread179886.html
В строке найти все числа в десятичной системе счисления, сформировать новую строку, в которой заменить их на соответствующим представлением в шестнадцатеричной системе. понял, то что их нужно...
C++ Составить описание класса Прямоугольник Пожалуйста помогите сделать задание!!!!!!!!!!!!!!!!!!! Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения... подробнее

Показать сообщение отдельно
ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
26.10.2010, 21:33
выщитывает crc сумму "unsigned __int16 b[] = {0x6456,0x9986,0x3336,0x5776,0xAF64}" выщетанную сумму дабавляет в массив "unsigned __int16 a[1]" и обединяет массив unsigned __int16 b[] и массив "unsigned __int16 a[1]" в другой массив "unsigned __int16 c[256]"

Код
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
using namespace std;
#define HIBYTE(l) ((l & 0xffff) >> 8)
#define LOBYTE(l) ((int)(l) & 0xff)
unsigned __int16 in_cksum ( unsigned __int16 *ptr, int nbytes ) 
{ 
register unsigned __int32 sum; 
unsigned __int16 oddbyte; 
register unsigned __int16 answer; 
sum = 0; 
while ( nbytes > 1 ) 
{ 
sum += *ptr ++; 
nbytes -= 2; 
} 
if ( nbytes == 1 ) 
{ 
oddbyte = 0; 
* (( unsigned char *) &oddbyte ) = * (unsigned char *) ptr; 
sum += oddbyte; 
} 
sum = ( sum >> 16 ) + ( sum & 0xFFFF); 
sum += (sum >> 16 ); 
answer=~sum; 
return (answer); 
} 
int main()
{
unsigned __int16 a[1];
unsigned __int16 b[] = {0x6456,0x9986,0x3336,0x5776,0xAF64};
unsigned __int16  c[256];
*a = in_cksum (b,sizeof(b));
	for(unsigned __int16 i=0, j=0, k=0; k < (sizeof(b)+sizeof(a))/2; k++)
	{
c[k] = (a[i] < b[j]) ? a[i++] : b[j++];
unsigned char e = HIBYTE(c[k]);
unsigned char f = LOBYTE(c[k]);
printf("%x\n",e);
printf("%x\n",f);
	}
	getch();
}
да забыл ещё старший бит отделяет от младшего.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru