Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int powerCalc(int* bitmask, int sizeOfBitmask) // f za purva zadacha
- {
- int power = 0;
- for (int i = 0; i < sizeOfBitmask; i++)
- {
- if (bitmask[i] == 1)
- {
- power++;
- }
- }
- return power;
- }
- int rezArrSizeCheck(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // razmer za rezultatniq masiv na 2zad
- {
- int sizeOfRezArr = 0;
- for (int i = 0; i < sizeOfBitmask1; i++)
- {
- if ((bitmask1[i] == 1 && bitmask2[i] == 0))
- {
- sizeOfRezArr++;
- }
- else
- {
- sizeOfRezArr++;
- }
- }
- return sizeOfRezArr;
- }
- void rezArrSizeRezult(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2,int* rezultArr,int sizeOfRezultArr) // 2zad reshenie
- {
- for (int i = 0; i < sizeOfBitmask1; i++) {
- if ((bitmask1[i] == 1 && bitmask2[i] == 0) )
- {
- rezultArr[i] = 1;
- }
- else
- {
- rezultArr[i] = 0;
- }
- }
- }
- void areTheyAllIn(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // zad3 reshenie
- {
- bool flag = false;
- for (int i = 0; i < sizeOfBitmask2; i++) {
- if ((bitmask1[i] == 1 && bitmask2[1] == 1))
- {
- flag = true;
- }
- if (bitmask2[i] == 1 && bitmask1[i] == 0)
- {
- flag = false;
- cout << "Ne vsichki elementi ot mnojestvoto B prednadlejat na mnojestvoto A!" << endl;
- break;
- }
- }
- if (flag == true)
- {
- cout << "Vsichki elementi ot mnojestvoto B prenadlejat na mnojestvoto A" << endl;
- }
- }
- void areTheyEqual(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // zad4Reshenie
- {
- bool flag = false;
- for (int i = 0; i < sizeOfBitmask1; i++) {
- if ((bitmask1[i] == 1 && bitmask2[1] == 1) || (bitmask1[i] == 0 && bitmask2[i] == 0))
- {
- flag = true;
- }
- else
- {
- flag = false;
- cout << "Dvete mnojestva ne suvpadat! " << endl;
- break;
- }
- }
- if (flag == true)
- {
- cout << "Vsichki elementi ot mnojestvoto B prenadlejat na mnojestvoto A" << endl;
- }
- }
- int main() {
- int universalMnoj[20] = {};
- for (int i = 0; i < 20; i++)
- {
- universalMnoj[i] = 1;
- }
- //Zadacha 1: Koqto vrushta moshnosta na mnojestvoto A
- int mnojA[7] = { 1,0,1,1,1,0,1 };
- int powerOfA = powerCalc(mnojA, 7);
- cout << "Moshnosta na mnojestvoto e " << powerOfA << " ." << endl;
- //end of zadacha 1
- //zadacha 2:Realizaciq na operaciqta razlika mejdu dve mnojestva.
- int mnojB[7] = { 0,0,0,1,1,0,0 };
- int sizeCheck = rezArrSizeCheck(mnojA, 7, mnojB, 5);
- int* RezArr = new int[sizeCheck];
- for (int i = 0; i < sizeCheck; i++)
- {
- RezArr[i] = 0;
- }
- rezArrSizeRezult(mnojA, 7, mnojB, 5, RezArr, sizeCheck);
- cout << "Delenie na mnojestvoto A i B po bitovi maski e: ";
- for (int i = 0; i < sizeCheck; i++)
- {
- cout << RezArr[i];
- }
- //end of zadacha 2
- //zadacha 3 Proverqva dali vs elementi ot mnoj B Prinadlejat na mnojestvoto A
- //zadacha 4 dali mnojestvoto B suvpada s mnojestvoto A
- delete[] RezArr;
- RezArr = NULL;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement