Advertisement
jelyslime

Zadacha ot 1 do 4 ot primernite

Jan 16th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int powerCalc(int* bitmask, int sizeOfBitmask) // f za purva zadacha
  6. {
  7. int power = 0;
  8. for (int i = 0; i < sizeOfBitmask; i++)
  9. {
  10. if (bitmask[i] == 1)
  11. {
  12. power++;
  13. }
  14.  
  15.  
  16.  
  17. }
  18. return power;
  19. }
  20.  
  21. int rezArrSizeCheck(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // razmer za rezultatniq masiv na 2zad
  22. {
  23. int sizeOfRezArr = 0;
  24. for (int i = 0; i < sizeOfBitmask1; i++)
  25. {
  26.  
  27.  
  28. if ((bitmask1[i] == 1 && bitmask2[i] == 0))
  29. {
  30. sizeOfRezArr++;
  31. }
  32. else
  33. {
  34. sizeOfRezArr++;
  35. }
  36.  
  37. }
  38. return sizeOfRezArr;
  39. }
  40.  
  41.  
  42. void rezArrSizeRezult(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2,int* rezultArr,int sizeOfRezultArr) // 2zad reshenie
  43. {
  44. for (int i = 0; i < sizeOfBitmask1; i++) {
  45.  
  46.  
  47.  
  48.  
  49. if ((bitmask1[i] == 1 && bitmask2[i] == 0) )
  50. {
  51. rezultArr[i] = 1;
  52. }
  53. else
  54. {
  55. rezultArr[i] = 0;
  56. }
  57.  
  58. }
  59.  
  60. }
  61.  
  62. void areTheyAllIn(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // zad3 reshenie
  63. {
  64.  
  65. bool flag = false;
  66.  
  67. for (int i = 0; i < sizeOfBitmask2; i++) {
  68.  
  69. if ((bitmask1[i] == 1 && bitmask2[1] == 1))
  70. {
  71. flag = true;
  72. }
  73.  
  74. if (bitmask2[i] == 1 && bitmask1[i] == 0)
  75. {
  76. flag = false;
  77. cout << "Ne vsichki elementi ot mnojestvoto B prednadlejat na mnojestvoto A!" << endl;
  78. break;
  79. }
  80.  
  81. }
  82. if (flag == true)
  83. {
  84. cout << "Vsichki elementi ot mnojestvoto B prenadlejat na mnojestvoto A" << endl;
  85. }
  86.  
  87. }
  88.  
  89. void areTheyEqual(int *bitmask1, int sizeOfBitmask1, int *bitmask2, int sizeOfBitmask2) // zad4Reshenie
  90. {
  91.  
  92. bool flag = false;
  93.  
  94. for (int i = 0; i < sizeOfBitmask1; i++) {
  95.  
  96. if ((bitmask1[i] == 1 && bitmask2[1] == 1) || (bitmask1[i] == 0 && bitmask2[i] == 0))
  97. {
  98. flag = true;
  99. }
  100. else
  101. {
  102. flag = false;
  103. cout << "Dvete mnojestva ne suvpadat! " << endl;
  104. break;
  105. }
  106.  
  107.  
  108. }
  109. if (flag == true)
  110. {
  111. cout << "Vsichki elementi ot mnojestvoto B prenadlejat na mnojestvoto A" << endl;
  112. }
  113.  
  114. }
  115.  
  116.  
  117.  
  118.  
  119. int main() {
  120.  
  121. int universalMnoj[20] = {};
  122. for (int i = 0; i < 20; i++)
  123. {
  124. universalMnoj[i] = 1;
  125. }
  126.  
  127. //Zadacha 1: Koqto vrushta moshnosta na mnojestvoto A
  128. int mnojA[7] = { 1,0,1,1,1,0,1 };
  129. int powerOfA = powerCalc(mnojA, 7);
  130. cout << "Moshnosta na mnojestvoto e " << powerOfA << " ." << endl;
  131. //end of zadacha 1
  132.  
  133. //zadacha 2:Realizaciq na operaciqta razlika mejdu dve mnojestva.
  134. int mnojB[7] = { 0,0,0,1,1,0,0 };
  135. int sizeCheck = rezArrSizeCheck(mnojA, 7, mnojB, 5);
  136. int* RezArr = new int[sizeCheck];
  137.  
  138. for (int i = 0; i < sizeCheck; i++)
  139. {
  140. RezArr[i] = 0;
  141. }
  142. rezArrSizeRezult(mnojA, 7, mnojB, 5, RezArr, sizeCheck);
  143. cout << "Delenie na mnojestvoto A i B po bitovi maski e: ";
  144.  
  145. for (int i = 0; i < sizeCheck; i++)
  146. {
  147. cout << RezArr[i];
  148. }
  149. //end of zadacha 2
  150.  
  151. //zadacha 3 Proverqva dali vs elementi ot mnoj B Prinadlejat na mnojestvoto A
  152. //zadacha 4 dali mnojestvoto B suvpada s mnojestvoto A
  153.  
  154.  
  155. delete[] RezArr;
  156. RezArr = NULL;
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement