Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void wyczscBUF(void)
- {
- char c;
- do
- c = getchar();
- while ( c != '\n' && c != EOF);
- }
- int main(void)
- {
- puts("Program do obliczania operacji logicznych");
- puts(" Igor Obrępalski piątek 10;00 projekt nr 2 ");
- int row, col;
- int i,j;
- int x;
- printf( "Jesli zyczysz sobie opuscic program, kliknij cokolwiek,\n co nie jest liczba naturalna :) \n\n");
- printf("Podaj ilosc kolumn i wierszy dla macierzy.\n\n");
- while ((scanf("%d %d", &row, &col) == 2) && row > 0 && col > 0)
- {
- int macierz1[row][col];
- printf("podaj wartosci dla macierz1\n");
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("wartosc dla [%d,%d]: ",i, j );
- x=scanf("%d",&macierz1[j][i]);
- while ( (macierz1[j][i] != 0 && macierz1[j][i] != 1 )|| x != 1 )
- {
- wyczscBUF();
- printf ("wpisano zła liczbe podaj 0 lub 1\n");
- printf("wartosc dla [%d,%d]: ", i, j);
- x=scanf("%d",&macierz1[j][i]);
- }
- }
- }
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("%d",macierz1[j][i]);
- }
- puts("");
- }
- int macierz2[row][col];
- printf("podaj wartosci dla macierz2\n");
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("wartość dla [%d,%d]: ", i, j);
- x=scanf("%d",&macierz2[j][i]);
- while ((macierz2[j][i] != 0 && macierz2[j][i] != 1 )|| x != 1 )
- {
- wyczscBUF();
- printf ("wpisano zła liczbe, podaj 0 lub 1\n");
- printf("wartosc dla [%d,%d]: ", i, j);
- x=scanf("%d",&macierz2[j][i]);
- }
- }
- }
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("%d",macierz2[j][i]);
- }
- puts("");
- }
- int operacja;
- int macierz3[row][col];
- char again = 'Y';
- while (again == 'Y')
- {
- printf("\n Menu\n");
- printf("\t1. or\n");
- printf("\t2. xor\n");
- printf("\t3. nand\n");
- printf("\t4. not\n");
- printf("Wybierz: ");
- x=scanf(" %d", &operacja);
- while( operacja < 1 || operacja > 4 || x!=1)
- {
- wyczscBUF();
- printf ("nie ma takiego numeru\n podaj jeszcze raz\n");
- x=scanf(" %d", &operacja);
- }
- printf("macierz1\n");
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("%d",macierz1[j][i]);
- }
- puts("");
- }
- printf("\n");
- printf("macierz2\n");
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- printf("%d",macierz2[j][i]);
- }
- puts("");
- }
- printf("\n");
- printf("wynik\n");
- switch(operacja)
- {
- case 1:
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- if (macierz1[j][i] == 1 || macierz2[j][i] == 1)
- {
- macierz3[j][i] = 1;
- }
- else
- {
- macierz3[j][i] = 0;
- }
- printf("%d",macierz3[j][i]);
- }
- puts("");
- }
- break;
- case 2:
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- if ((macierz1[j][i] == 1 && macierz2[j][i] == 1) || (macierz1[j][i] == 0 && macierz2[j][i] == 0))
- {
- macierz3[j][i] = 0;
- }
- else
- {
- macierz3[j][i] = 1;
- }
- printf("%d",macierz3[j][i]);
- }
- puts("");
- }
- break;
- case 3:
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- if (macierz1[j][i] == 1 && macierz2[j][i] == 1)
- {
- macierz3[j][i] = 0;
- }
- else
- {
- macierz3[j][i] = 1;
- }
- printf("%d",macierz3[j][i]);
- }
- puts("");
- }
- break;
- case 4:
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- if (macierz1[j][i] == 1)
- {
- macierz3[j][i] = 0;
- }
- else
- {
- macierz3[j][i] = 1;
- }
- printf("%d",macierz3[j][i]);
- }
- puts("");
- }
- printf("\n");
- for(i=0; i < col; ++i)
- {
- for(j=0; j < row; ++j)
- {
- if (macierz2[j][i] == 1)
- {
- macierz3[j][i] = 0;
- }
- else
- {
- macierz3[j][i] = 1;
- }
- printf("%d",macierz3[j][i]);
- }
- puts("");
- }
- }
- printf("\n\n Chcesz sprobowac jeszcze raz? Y/*\n");
- scanf(" %c", &again);
- wyczscBUF();
- printf(" \n Mozesz sprobowac jeszcze raz . \nPodaj ilosc kolumn i wierszy dla macierzy \n* litera = wyjscie \n");
- }
- }
- printf ( "Dziekuje za wspolnie spedzony czas\n\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement