Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- bool setUnion(char *, char *, char *, int);
- bool isPrime(int n)
- {
- // Corner case
- if (n <= 1)
- return false;
- // Check from 2 to n-1
- for (int i = 2; i < n; i++)
- if (n % i == 0)
- return false;
- return true;
- }
- // Function to check array size
- int PrimeSizeCheck(int n)
- {
- int cnt = 0;
- for (int i = 2; i <= n; i++) {
- if (isPrime(i))
- cnt++;
- }
- return cnt;
- }
- //Function to fill arr
- void Primeinput(int n, int *primeArray, int sizeOfArr)
- {
- int cntSize = 0;
- for (int i = 2; i <= n; i++) {
- if (isPrime(i))
- if (sizeOfArr > cntSize)
- {
- primeArray[cntSize] = i;
- cntSize++;
- }
- else
- {
- break;
- }
- }
- }
- int main()
- {
- const int SizeOfArr = 15;
- double universalArr[SizeOfArr] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
- char universalBitmask[] = { "111111111111111" };
- cout << "broi elementi na maskata" << endl;
- int maskaASize = 0;
- cin >> maskaASize;
- cout << "Broi elementi na vtorata maska" << endl;
- int maskaBsize = 0;
- cin >> maskaBsize;
- char* maskaA = new char[maskaASize + 1];
- char* maskaB = new char[maskaBsize + 1];
- cout << "Vuvedete bitovite maski" << endl;
- cin >> maskaA;
- cin >> maskaB;
- char* rezMaska = new char[maskaASize + maskaBsize + 1];
- setUnion(maskaB, maskaA, rezMaska, (maskaASize + maskaBsize + 1));
- cout << rezMaska;
- int numerK = 0;
- cout << "Vuvedete k i az shte namerq vsichki prosti chisla po malki ili ravni na k" << endl;
- cin >> numerK;
- int sizeOfArr = PrimeSizeCheck(numerK);
- int *PrimeArray = new int[sizeOfArr];
- Primeinput(numerK, PrimeArray, sizeOfArr); // fill
- int sumOfSimpleNum = 0;
- cout << "Sumata na vs prosti chisla na chetni pozicii: " << endl;
- for (int i = 0; i < sizeOfArr; i++)
- {
- if (i % 2 == 0)
- {
- cout << " " << PrimeArray[i + 1] << " ";
- sumOfSimpleNum += PrimeArray[i + 1];
- }
- }
- cout << endl << "Sumata ot tezi chisla e : " << sumOfSimpleNum << endl;
- delete[] maskaA;
- delete[] maskaB;
- delete[] rezMaska;
- maskaA = NULL; maskaB = NULL; rezMaska = NULL;
- delete[] PrimeArray;
- PrimeArray = NULL;
- return 0;
- }
- bool setUnion(char * maskB, char * maskA, char * res, int sizeOfRezArr) {
- unsigned len = strlen(maskA);
- for (unsigned i = 0; i < sizeOfRezArr; i++)
- res[i] = (maskA[i] | maskB[i]);
- res[len] = '\0';
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement