Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.81 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. void wyczscBUF(void)
  5. {
  6.     char c;
  7.     do
  8.         c = getchar();
  9.     while ( c != '\n' && c != EOF);
  10. }
  11.  
  12.  
  13.  
  14.  
  15. int main(void)
  16. {
  17.      puts("Program do obliczania operacji logicznych");
  18.     puts(" Igor Obrępalski  piątek 10;00 projekt nr 2 ");
  19.  
  20.     int row, col;
  21.     int i,j;
  22.     int x;
  23.  
  24.  
  25.  
  26.  
  27.  
  28.     printf( "Jesli zyczysz sobie opuscic program, kliknij cokolwiek,\n co nie jest liczba naturalna :) \n\n");
  29.     printf("Podaj ilosc kolumn i wierszy dla macierzy.\n\n");
  30.  
  31.     while ((scanf("%d %d", &row, &col) == 2) && row > 0 && col > 0)
  32.     {
  33.  
  34.         int macierz1[row][col];
  35.         printf("podaj wartosci dla macierz1\n");
  36.  
  37.         for(i=0; i < col; ++i)
  38.         {
  39.             for(j=0; j < row; ++j)
  40.             {
  41.                 printf("wartosc dla [%d,%d]: ",i, j );
  42.                 x=scanf("%d",&macierz1[j][i]);
  43.  
  44.                 while ( (macierz1[j][i] != 0 && macierz1[j][i] != 1 )|| x != 1 )
  45.                 {
  46.                     wyczscBUF();
  47.                     printf ("wpisano zła liczbe podaj 0 lub 1\n");
  48.                     printf("wartosc dla [%d,%d]: ", i, j);
  49.                     x=scanf("%d",&macierz1[j][i]);
  50.                 }
  51.             }
  52.         }
  53.  
  54.         for(i=0; i < col; ++i)
  55.         {
  56.             for(j=0; j < row; ++j)
  57.             {
  58.                 printf("%d",macierz1[j][i]);
  59.             }
  60.             puts("");
  61.         }
  62.  
  63.         int macierz2[row][col];
  64.         printf("podaj wartosci dla macierz2\n");
  65.  
  66.         for(i=0; i < col; ++i)
  67.         {
  68.             for(j=0; j < row; ++j)
  69.             {
  70.                 printf("wartość dla [%d,%d]: ", i, j);
  71.                 x=scanf("%d",&macierz2[j][i]);
  72.  
  73.                 while ((macierz2[j][i] != 0 && macierz2[j][i] != 1 )||  x != 1 )
  74.                 {
  75.                     wyczscBUF();
  76.                     printf ("wpisano zła liczbe, podaj 0 lub 1\n");
  77.                     printf("wartosc dla [%d,%d]: ", i, j);
  78.                     x=scanf("%d",&macierz2[j][i]);
  79.                 }
  80.             }
  81.         }
  82.  
  83.         for(i=0; i < col; ++i)
  84.         {
  85.             for(j=0; j < row; ++j)
  86.             {
  87.                 printf("%d",macierz2[j][i]);
  88.             }
  89.             puts("");
  90.         }
  91.  
  92.         int operacja;
  93.         int macierz3[row][col];
  94.  
  95.         char again = 'Y';
  96.         while (again == 'Y')
  97.         {
  98.  
  99.  
  100.             printf("\n Menu\n");
  101.             printf("\t1. or\n");
  102.             printf("\t2. xor\n");
  103.             printf("\t3. nand\n");
  104.             printf("\t4. not\n");
  105.             printf("Wybierz: ");
  106.             x=scanf(" %d", &operacja);
  107.  
  108.  
  109.  
  110.             while( operacja < 1 || operacja > 4 || x!=1)
  111.             {
  112.                 wyczscBUF();
  113.                 printf ("nie ma takiego numeru\n podaj jeszcze raz\n");
  114.                 x=scanf(" %d", &operacja);
  115.             }
  116.             printf("macierz1\n");
  117.             for(i=0; i < col; ++i)
  118.             {
  119.                 for(j=0; j < row; ++j)
  120.                 {
  121.                     printf("%d",macierz1[j][i]);
  122.                 }
  123.                 puts("");
  124.             }
  125.             printf("\n");
  126.             printf("macierz2\n");
  127.             for(i=0; i < col; ++i)
  128.             {
  129.                 for(j=0; j < row; ++j)
  130.                 {
  131.                     printf("%d",macierz2[j][i]);
  132.                 }
  133.                 puts("");
  134.             }
  135.  
  136.  
  137.  
  138.             printf("\n");
  139.             printf("wynik\n");
  140.  
  141.  
  142.             switch(operacja)
  143.             {
  144.  
  145.             case 1:
  146.  
  147.                 for(i=0; i < col; ++i)
  148.                 {
  149.                     for(j=0; j < row; ++j)
  150.                     {
  151.  
  152.                         if (macierz1[j][i] == 1 || macierz2[j][i] == 1)
  153.                         {
  154.                             macierz3[j][i] = 1;
  155.                         }
  156.                         else
  157.                         {
  158.                             macierz3[j][i] = 0;
  159.                         }
  160.                         printf("%d",macierz3[j][i]);
  161.                     }
  162.  
  163.                     puts("");
  164.                 }
  165.  
  166.                 break;
  167.  
  168.             case 2:
  169.  
  170.                 for(i=0; i < col; ++i)
  171.                 {
  172.                     for(j=0; j < row; ++j)
  173.                     {
  174.  
  175.                         if ((macierz1[j][i] == 1 && macierz2[j][i] == 1) || (macierz1[j][i] == 0 && macierz2[j][i] == 0))
  176.                         {
  177.                             macierz3[j][i] = 0;
  178.                         }
  179.                         else
  180.                         {
  181.                             macierz3[j][i] = 1;
  182.                         }
  183.                         printf("%d",macierz3[j][i]);
  184.                     }
  185.  
  186.                     puts("");
  187.                 }
  188.  
  189.                 break;
  190.  
  191.             case 3:
  192.  
  193.                 for(i=0; i < col; ++i)
  194.                 {
  195.                     for(j=0; j < row; ++j)
  196.                     {
  197.  
  198.                         if (macierz1[j][i] == 1 && macierz2[j][i] == 1)
  199.                         {
  200.                             macierz3[j][i] = 0;
  201.                         }
  202.                         else
  203.                         {
  204.                             macierz3[j][i] = 1;
  205.                         }
  206.                         printf("%d",macierz3[j][i]);
  207.                     }
  208.  
  209.                     puts("");
  210.                 }
  211.  
  212.                 break;
  213.  
  214.             case 4:
  215.  
  216.                 for(i=0; i < col; ++i)
  217.                 {
  218.                     for(j=0; j < row; ++j)
  219.                     {
  220.  
  221.                         if (macierz1[j][i] == 1)
  222.                         {
  223.                             macierz3[j][i] = 0;
  224.                         }
  225.                         else
  226.                         {
  227.                             macierz3[j][i] = 1;
  228.                         }
  229.                         printf("%d",macierz3[j][i]);
  230.                     }
  231.  
  232.                     puts("");
  233.  
  234.  
  235.                 }
  236.                 printf("\n");
  237.  
  238.                 for(i=0; i < col; ++i)
  239.                 {
  240.                     for(j=0; j < row; ++j)
  241.                     {
  242.  
  243.                         if (macierz2[j][i] == 1)
  244.                         {
  245.                             macierz3[j][i] = 0;
  246.                         }
  247.                         else
  248.                         {
  249.                             macierz3[j][i] = 1;
  250.                         }
  251.                         printf("%d",macierz3[j][i]);
  252.                     }
  253.  
  254.                     puts("");
  255.  
  256.  
  257.                 }
  258.  
  259.             }
  260.             printf("\n\n Chcesz sprobowac jeszcze raz? Y/*\n");
  261.             scanf(" %c", &again);
  262.             wyczscBUF();
  263.  
  264.             printf(" \n Mozesz sprobowac jeszcze raz . \nPodaj ilosc kolumn i wierszy dla macierzy \n* litera = wyjscie \n");
  265.  
  266.  
  267.  
  268.         }
  269.     }
  270.     printf ( "Dziekuje za wspolnie spedzony czas\n\n");
  271.  
  272.     return 0;
  273.  
  274.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement