Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- void div_2half(bool *whole, int n_elements , bool *half1, bool *half2);
- void p10(bool * xaxa);
- typedef struct BIT
- {
- bool bit[8];
- void zamiana(unsigned char c)
- {
- bit[0] = (c >> 7) % 2;
- bit[1] = (c >> 6) % 2;
- bit[2] = (c >> 5) % 2;
- bit[3] = (c >> 4) % 2;
- bit[4] = (c >> 3) % 2;
- bit[5] = (c >> 2) % 2;
- bit[6] = (c >> 1) % 2;
- bit[7] = c % 2;
- }
- }text;
- int main()
- {
- text a;
- bool half_k1[5];
- bool half_k2[5];
- bool bitk[10];
- unsigned char tekst;
- bool key[10];
- int i;
- key[0] = 1;
- key[1] = 1;
- key[2] = 0;
- key[3] = 0;
- key[4] = 0;
- key[5] = 0;
- key[6] = 0;
- key[7] = 0;
- key[8] = 1;
- key[9] = 1;
- /*for ( i = 0; i < 10; ++i)
- key[i] = bitk[i] == '1' ? 1 : 0;
- */
- printf("klucz to :");
- for (i = 0; i < 10; i++)
- {
- printf("%d ", key[i]);
- }
- for (i = 0; i < 10; i++)
- key[i] <<= 2;
- printf("po pzesunieciu :");
- for (i = 0; i < 10; i++)
- {
- printf("%d ", key[i]);
- }
- p10(key);
- printf("\nklucz po opuszczeniu funkcji p10:\n");
- for (i = 0; i < 10; i++)
- printf("%d ",key[i]);
- printf("\n");
- div_2half(key, 10, half_k1, half_k2);
- printf("pierwsza czesc klucza:\n");
- for (i = 0; i < 5; i++)
- printf("%d ", half_k1[i]);
- printf("\n");
- printf("druga czesc klucza:\n");
- for (i = 0; i < 5; i++)
- printf("%d ", half_k2[i]);
- scanf("%c", &tekst);
- a.zamiana(tekst);
- for (i = 0; i < 8; i++)
- printf("%c\n", a.bit[i]);
- system("pause");
- return 0;
- }
- void p10(bool *xaxa){
- int a;
- bool *copy;
- copy = ((bool*)malloc(10 * sizeof(bool)));
- for (a = 0; a < 10; a++)
- copy[a] = xaxa[a];
- /*for (a = 0; a < 10; a++)
- printf("%d ", copy[a]);
- */
- xaxa[0] = copy[2];
- xaxa[1] = copy[4];
- xaxa[2] = copy[1];
- xaxa[3] = copy[6];
- xaxa[4] = copy[3];
- xaxa[5] = copy[9];
- xaxa[6] = copy[0];
- xaxa[7] = copy[8];
- xaxa[8] = copy[7];
- xaxa[9] = copy[5];
- free(copy);
- }
- void div_2half(bool *whole, int el, bool *half1, bool *half2){
- int c;
- int i;
- //printf("\nwhole a:\n");
- /*for (i = 0; i < el; i++)
- printf("%d ",whole[i]);
- printf("\n");
- */
- for (i = 0; i < el/2 ; i++)
- half1[i] = whole[i];
- /* for (i = 0; i < el / 2; i++)
- printf("%d ",half1[i]);
- */
- c = el/2;
- for (i = 0; i < el/2; i++)
- {
- half2[i] = whole[c];
- c++;
- }
- /* printf("\n");
- for(i = 0; i < el / 2; i++)
- printf("%d ", half2[i]);*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement