//8 байт разбить на тетрады //обмен тетрад случайным образом #include #include #include #include using namespace std; main() { char lt,ht; string st=""; int *bt; int nmb,nmb1,tmp,m; char mas[16]; char dmp[16] = {'0','1','2','3','4','5','6', '7','8','9','A','B','C','D','E','F'}; cout<<" n = "; cin>>nmb; cout<<" n1 = "; cin>>nmb1; //числа в шестнадцатиричном виде tmp=nmb; for (int i=0; i<8; i++) { lt=tmp % 16; st=dmp[lt]+st; tmp=(tmp>>4); } tmp=nmb1; for (int i=0; i<8; i++) { lt=tmp % 16; st=dmp[lt]+st; tmp=(tmp>>4); } st="0x"+st; //8 байт - соединение n и n1 в шестнадцатиричном виде cout<<"number in hex 8 bytes (n + n1): "<> 4); ht=ht&0x0f; mas[i]=lt; mas[i+1]=ht; i+=2; tmp=(tmp >> 8); } m=16; tmp=nmb1; bt=&tmp; i=8; } //реверс массива for (i=0; i<8; i++) { lt=mas[i]; mas[i]=mas[15-i]; mas[15-i]=lt; } //вывод 16 полубайт массива cout<<"array tetro: "; for (i=0; i<16; i++) cout<