Advertisement
jelyslime

Final

Jan 17th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. bool setUnion(char *, char *, char *, int);
  6.  
  7. bool isPrime(int n)
  8. {
  9. // Corner case
  10. if (n <= 1)
  11. return false;
  12.  
  13. // Check from 2 to n-1
  14. for (int i = 2; i < n; i++)
  15. if (n % i == 0)
  16. return false;
  17.  
  18. return true;
  19. }
  20. // Function to check array size
  21. int PrimeSizeCheck(int n)
  22. {
  23. int cnt = 0;
  24. for (int i = 2; i <= n; i++) {
  25. if (isPrime(i))
  26. cnt++;
  27. }
  28. return cnt;
  29. }
  30.  
  31. //Function to fill arr
  32. void Primeinput(int n, int *primeArray, int sizeOfArr)
  33. {
  34. int cntSize = 0;
  35. for (int i = 2; i <= n; i++) {
  36. if (isPrime(i))
  37. if (sizeOfArr > cntSize)
  38. {
  39. primeArray[cntSize] = i;
  40. cntSize++;
  41. }
  42. else
  43. {
  44. break;
  45. }
  46. }
  47. }
  48.  
  49.  
  50.  
  51.  
  52.  
  53. int main()
  54. {
  55. const int SizeOfArr = 15;
  56. double universalArr[SizeOfArr] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
  57. char universalBitmask[] = { "111111111111111" };
  58.  
  59. cout << "broi elementi na maskata" << endl;
  60. int maskaASize = 0;
  61. cin >> maskaASize;
  62. cout << "Broi elementi na vtorata maska" << endl;
  63. int maskaBsize = 0;
  64. cin >> maskaBsize;
  65.  
  66. char* maskaA = new char[maskaASize + 1];
  67. char* maskaB = new char[maskaBsize + 1];
  68.  
  69. cout << "Vuvedete bitovite maski" << endl;
  70. cin >> maskaA;
  71. cin >> maskaB;
  72.  
  73. char* rezMaska = new char[maskaASize + maskaBsize + 1];
  74.  
  75. setUnion(maskaB, maskaA, rezMaska, (maskaASize + maskaBsize + 1));
  76. cout << rezMaska;
  77.  
  78.  
  79.  
  80. int numerK = 0;
  81. cout << "Vuvedete k i az shte namerq vsichki prosti chisla po malki ili ravni na k" << endl;
  82. cin >> numerK;
  83.  
  84. int sizeOfArr = PrimeSizeCheck(numerK);
  85. int *PrimeArray = new int[sizeOfArr];
  86. Primeinput(numerK, PrimeArray, sizeOfArr); // fill
  87.  
  88. int sumOfSimpleNum = 0;
  89.  
  90. cout << "Sumata na vs prosti chisla na chetni pozicii: " << endl;
  91. for (int i = 0; i < sizeOfArr; i++)
  92. {
  93. if (i % 2 == 0)
  94. {
  95. cout << " " << PrimeArray[i + 1] << " ";
  96. sumOfSimpleNum += PrimeArray[i + 1];
  97. }
  98. }
  99.  
  100. cout << endl << "Sumata ot tezi chisla e : " << sumOfSimpleNum << endl;
  101.  
  102.  
  103.  
  104.  
  105. delete[] maskaA;
  106. delete[] maskaB;
  107. delete[] rezMaska;
  108. maskaA = NULL; maskaB = NULL; rezMaska = NULL;
  109. delete[] PrimeArray;
  110. PrimeArray = NULL;
  111. return 0;
  112. }
  113.  
  114. bool setUnion(char * maskB, char * maskA, char * res, int sizeOfRezArr) {
  115. unsigned len = strlen(maskA);
  116. for (unsigned i = 0; i < sizeOfRezArr; i++)
  117. res[i] = (maskA[i] | maskB[i]);
  118. res[len] = '\0';
  119. return true;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement