pr_czy.doc

(239 KB) Pobierz
// [1

 

22

 


 

--------------------------[1.1]------------------------------

 

#include <conio.h>

#include <stdio.h>

 

main ()

{

int n, k, bin[32], oct[20], hex[16], i=0;

 

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  } while (n < 0 || k == 0);

k = n;

puts ("\nPostac binarna: ");

do

  {

  bin[i] =  k%2;

  i++;

  k = k/2;                           

} while (k != 0);

k=i;

for (i=k-1; i>=0; i--)

printf ("%d", bin[i]);

k=n;

i=0;

puts ("\nPostac osemkowa: ");

do

  {

  oct[i] = k%8;

  i++;

  k = k/8;

  } while (k != 0);

k=i;

for (i=k-1; i>=0; i--)

printf ("%d", oct[i]);

k=n;

i=0;

puts ("\nPostac szesnastkowa: ");

do

  {

  hex[i] = k%16;

  i++;

  k = k/16;

  } while (k != 0);

k=i;

for (i=k-1; i>=0; i--)

printf ("%x", hex[i]);

getch();

}

--------------------------[1.2]------------------------------

 

#include <conio.h>

#include <stdio.h>

 

main ()

{

int n, k;

 

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  } while (n < 0 || k == 0);

 

printf ("\nPostac oktalna: %o", n);

printf ("\nPostac heksalna: %x", n);

getch();

}

 

 

 

--------------------------[1.3]------------------------------

 

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

 

main ()

{

int n, m, bin_n[32], bin_m[32], sum[32], p, k, l, i=1, j=1, c;

fflush(stdin);

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  printf ("\nPodaj liczbe m: ");

  l = scanf ("%d", &m);

  } while (n < 0 || k == 0 || l == 0);

k = n;

l = m;

do

  {

  bin_n[i] =  k%2;

  i++;

  k = k/2;

  } while (k != 0);

k=i;

for (i=8; i>=1; i--)

{

sum[i] = 0;

if (i>k-1)

bin_n[i] = 0;

printf ("%d", bin_n[i]);

}

do

  {

  bin_m[j] =  l%2;

  j++;

  l = l/2;

  } while (l != 0);

l=j;

putchar ('\n');

for (j=8; j>=1; j--)

{

if (j>l-1)

bin_m[j] = 0;

printf ("%d", bin_m[j]);

}

if (k > l) p = k-1;

else p = l-1;

 

sum[1]=0;

for (i=1; i<=p; i++)

{

sum[i] = sum[i] + bin_n[i] + bin_m[i];

if (sum[i] == 2)

   {

   sum[i] = 0;

   sum[i+1] = 1;

   }

}

if (sum[0] == 1) c=0;

else c=1;

printf ("\nsuma: ");

for (i=8; i>=1; i--)

printf ("%d", sum[i]);

getch();

}

 

 

 

 

 

 

--------------------------[1.4]------------------------------

 

#include <stdio.h>

#include <stdlib.h>

 

main ()

{

int n, m, bin_n[32], bin_m[32], sum[32], p, k, l, i=1, j=1, c, iloczyn[32];

fflush(stdin);

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  printf ("\nPodaj liczbe m: ");

  l = scanf ("%d", &m);

  } while (n < 0 || m < 0 || k == 0 || l == 0);

k = n;

l = m;

do

  {

  bin_n[i] =  k%2;

  i++;

  k = k/2;

  } while (k != 0);

k=i;

for (i=8; i>=1; i--)

{

iloczyn[i] = 0;

sum[i] = 0;

if (i>k-1)

bin_n[i] = 0;

printf ("%d", bin_n[i]);

}

do

  {

  bin_m[j] =  l%2;

  j++;

  l = l/2;

  } while (l != 0);

l=j;

putchar ('\n');

for (j=8; j>=1; j--)

{

if (j>l-1)

bin_m[j] = 0;

printf ("%d", bin_m[j]);

}

putchar ('\n');

p=l-1;

for (c=1; c<=p; c++)

{

if (bin_m[c] == 1)

{

for (i=1; i<=c-1; i++) sum[i] = 0;

for (i=c; i<=c+k-1; i++) sum[i] = bin_n[i-c+1];

for (i=c+k; i<=8; i++) sum[i] = 0;

}

else for (i=1; i<=8; i++) sum[i] = 0;

putchar('\n');

for (i=1; i<=8; i++)

{

if (iloczyn[i] == 2)

   {

   iloczyn[i] = 0;

   iloczyn[i+1] = 1;

   }

iloczyn[i]=iloczyn[i]+sum[i];

if (iloczyn[i] == 2)

   {

   iloczyn[i] = 0;

   iloczyn[i+1] = iloczyn[i+1] + 1;

   }

printf ("%d", iloczyn[i]);

}

putchar ('\n');

for (i=1; i<=8; i++)

printf ("%d", sum[9-i]);

putchar ('\n');

}

 

if (iloczyn[0] == 1) c=0;

else c=1;

printf ("\niloczyn: ");

for (i=1; i<=8; i++)

printf ("%d", iloczyn[9-i]);

getch();

}

 

--------------------------[1.5]------------------------------

 

#include <conio.h>

#include <stdio.h>

#include <math.h>

 

main ()

{

int n, k, bin[32], i=0;

 

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  } while (k == 0);

k = abs(n);

puts ("\nPostac binarna w kodzie znak-modul: ");

do

  {

  bin[i] =  k%2;

  i++;

  k = k/2;

  } while (k != 0);

k=i;

if (n < 0) printf ("1");

else printf ("0");

for (i=k-1; i>=0; i--)

printf ("%d", bin[i]);

getch();

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--------------------------[1.6]------------------------------

 

#include <conio.h>

#include <stdio.h>

#include <math.h>

 

main ()

{

int n, k, bin[32], p, i=0;

 

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  } while (k == 0);

k = abs(n);

puts ("\nPostac binarna w kodzie U1: ");

do

  {

  bin[i] =  k%2;

  i++;

  k = k/2;

  } while (k != 0);

k=i;

if (n < 0)

{

for (i=0; i<=k-1; i++)

    {

    if (bin[i] == 1) bin[i] = 2;

    if (bin[i] == 0) bin[i] = 1;

    if (bin[i] == 2) bin[i] = 0;

    }

printf ("1");

}

else printf ("0");

 

for (i=k-1; i>=0; i--)

printf ("%d", bin[i]);

getch();

}

 

--------------------------[1.7]------------------------------

 

#include <conio.h>

#include <stdio.h>

 

main ()

{

int n, k, bin[32], i=0;

 

for (i=0; i<32; i++)

bin[i] = 0;

i=0;

 

do

  {

  printf ("\nPodaj liczbe n: ");

  k = scanf ("%d", &n);

  } while (k == 0 || n < -128 || n > 127);

k = n;

puts ("\nPostac binarna w 8-bitowym kodzie U2: ");

if (n < 0)

k = 256 + n;

 

do

  {

  bin[i] =  k%2;

  i++;

  k = k/2;

  } while (k != 0);

k=i;

for (i=7; i>=0; i--)

printf ("%d", bin[i]);

getch();

}

--------------------------[1.8]------------------------------

 

#include <stdio.h>

#include <conio.h>

#include <math.h>

 

main ()

{

int x, z_x, y, z_y, bin_x[8], bin_y[8], il[16], sum[16], i=0, k=0;

 

printf ("\nPodaj x: ");

scanf ("%d", &x);

printf ("\nPodaj y: ");

scanf ("%d", &y);

z_x=abs(x);

z_y=abs(y);

 

for (i=0; i<16; i++)

{

sum[i]=0;

il[i]=0;

}

for (i=0; i<8; i++)

{

bin_x[i]=z_x%2;

bin_y[i]=z_y%2;

z_x=z_x/2;

z_y=z_y/2;

}

 

for (k=0; k<8; k++)

{

for (i=0; i<8; i++)

sum[i+k]=bin_x[k]*bin_y[i];

 

for (i=0; i<16; i++)

{

il[i]=il[i]+sum[i];

   if (il[i]==2)

   {

   il[i]=0;

   il[i+1]++;

   }

   if (il[i]==3)

   {

   il[i]=1;

   il[i+1]++;

   }

}

for (i=0; i<16; i++)

sum[i]=0;

}

 

if (((x<0)&&(y>0))||((x>0)&&(y<0)))

il[15]=1;

else

il[15]=0;

 

printf ("\nMnozenie binarne: ");

for (i=0; i<16; i++)

printf ("%d", il[15-i]);

getch();

}

 

 


--------------------------[1.9]------------------------------

 

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

...

Zgłoś jeśli naruszono regulamin